c语言实验习题及答案详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.141593.142,10.12345610.123)#includestdio.hmain(){doubleb,d;printf(请输入一个小数:);scanf(%lf,&b);printf(输出原来的数:%f\n,b);b*=1000;b+=0.5;b=(int)b;d=b/1000;printf(输出现在的数:%.3lf\n0,d);}b.输入一个4位整数,求其得各位数字的平方和;(12341+4+9+16=30)#includestdio.hmain(){intn,sum=0,i,t;printf(请输入一个四位整数:\n);scanf(%d,&n);for(i=0;i4;i++){t=n%10;n/=10;sum+=t*t;}printf(%d\n,sum);}c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;#includestdio.hmain(){charch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#includestdio.hmain(){inti;for(i=65;i91;i++){printf(%c,i);printf(%c,i+32);}printf(\n);}e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次#includestdio.hmain(){doublef1,f2;f1=10e-30;f2=10e30;printf(%lf\n%lf\n,f1,f2);}f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;#includestdio.hvoidmain(){floatf;doubled;f=3.14159265358979323846264338327950288;d=3.14159265358979323846264338327950288;printf(f=%.20f\nd=%.20lf\n,f,d);}g.输入华氏温度求摄氏温度。转换公式为c=5/9(f-32),输出结果取两位小数。#includestdio.hmain(){doublef,c;printf(请输入一个华氏温度:);scanf(%lf,&f);c=5.0/9.0*(f-32);printf(输出摄氏温度c:%.2f\n,c);}2.分支结构a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)#includestdio.hvoidmain(){doublea,b,c;scanf(%lf%lf%lf,&a,&b,&c);if(a0&&b0&&c0&&a+bc&&a+cb&&b+ca){if(a==b&&b==c)printf(等边三角形!\n);elseif((a*a+b*b)==c*c||(a*a+c*c)==b*b||(b*b+c*c)==a*a){if(a==b||b==c||a==c)printf(等腰直角三角形!\n);elseprintf(直角三角形!\n);}elseif(a==b||b==c||a==c)printf(等腰三角形!\n);elseprintf(普通三角形!\n);}elseprintf(用户输入错误!\n);}b.输入一个年份值,判断是否为闰年;#includestdio.hmain(){intn;printf(输入年份:);scanf(%d,&n);if(n%4==0&&n%100!=0||n%400==0)printf(闰年\n);elseprintf(不是闰年\n);}c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小值;1.#includestdio.hmain(){inta,b,c;scanf(%d%d%d,&a,&b,&c);if(ab&&bc)printf(max=%d,min=%d,a,c);elseif(ca&&ab)printf(max=%d,min=%d,c,b);elseif(ac&&cb)printf(max=%d,min=%d\n,a,b);elseif(cb&&ba)printf(max=%d,min=%d\n,c,a);elseif(bc&&ca)printf(max=%d,min=%d\n,b,a);elseprintf(max=%d,min=%d\n,b,c);}2.#includestdio.hmain(){inta,b,c;scanf(%d%d%d,&a,&b,&c);printf(max=%d,min=%d\n,(ab?(ca?c:a):(cb?c:b)),(ab?(ca?c:a):(cb?c:b)));}d.输入任意实数,求出其所对应的函数值(调用数学函数库)。z=e的x次幂(x10)z=log(x+3)(x-3)z=sin(x)/((cos(x)+4)/*d.输入任意实数,求出其所对应的函数值(调用数学函数库)。z=e的x次幂(x10)z=log(x+3)(x-3)z=sin(x)/((cos(x)+4)*/#includestdio.h#includemath.hmain(){doublex,z;printf(输入任意实数x:);scanf(%lf,x);if(x10)z=exp(x);if(x-3)z=log(x+3);if(x=-3)z=sin(x)/(cos(x)+4);printf(z=%lf,z);}e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用if语句和switch语句;#includestdio.hmain(){inta;scanf(%d,&a);if(a100)printf(输入错误\n);if(a=100){if(a=90)printf(优\n);elseif(a=80)printf(良\n);elseif(a=70)printf(中\n);elseif(a=60)printf(及格\n);elseprintf(不及格\n);}}#includestdio.hmain(){inta,b;scanf(%d,&a);b=a/10;switch(b){case10:case9:printf(优\n);break;case8:printf(良\n);break;case7:printf(中\n);break;case6:printf(及格\n);break;default:printf(不及格\n);}}f.判断一个字符是否为字母或者数字;#includestdio.hmain(){chart;scanf(%c,&t);if(t='a'&&t='z'||t='A'&&t='Z'||t='0'&&t='9')printf(是母或者数字);elseprintf(不是字母或者数字);}g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对值。#includestdio.hmain(){inta,b,c,d,e;scanf(%d%d,&a,&b);c=ab?a:b;d=ab?a:b;e=a-a?a:-a;printf(c=%d\nd=%d\ne=%d\n,c,d,e);}h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正确输出提示信息#includestdio.hvoidmain(){floata,b,c;printf(请输入a、b和c的值:);scanf(%f%f%f,&a,&b,&c);if(a==0)printf(数据输入不正确!\n);else{if(b*b-4*a*c0)printf(方程有两个不等实根!\n);else{if(b*b-4*a*c==0)printf(方程有两个相等实根!\n);elseprintf(方程无解!\n);}}}3.循环结构a.编写程序实现1+2+3+4+......+n,n由用户输入;#includestdio.hmain(){intn,i,sum=0;printf(请输入n;);scanf(%d,&n);for(i=1;i=n;i++)sum+=i;printf(%d\n,sum);}b.修改程序1,实现1+3+5+7+9+......2*n-1;#includestdio.hmain(){intn,i,sum=0;printf(请输入n;);scanf(%d,&n);for(i=1;i=n;i++)sum+=(2*i-1);printf(%d\n,sum);}c.修改程序1,实现2+4+6+8+10+......2*n;#includestdio.hmain(){intn,i,sum=0;printf(请输入n;);scanf(%d,&n);for(i=1;i=n;i++)sum+=2*i;printf(%d\n,sum);}d.修改程序2,实现1+1/3+1/5+1/7+......1/(2*n-1);includestdio.hmain(){intn,i,t=0;doublesum=0.0;printf(请输入n;);scanf(%d,&n);for(i=1;i=n;i++){t=(2*i-1);sum+=1.0/t;}printf(%f\n,sum);}e.修改程序4,实现1-1/3+1/5-1/7+......1/(2*n-1);#includestdio.hmain(){intn,i,t=0,k=-1;doublesum=0.0;printf(请输入n;);scanf(%d,&n);for(i=1;i=n;i++){k*=-1;t=k*(2*i-1);sum+=1.0/t;}printf(%f\n,sum);}f.编程实现1*2*3*4*5*.....n;#includestdio.hmain(){intn,i,sum=1;printf(请输入n:);scanf(%d,&n);for(i=1;i=n;i++)sum*=i;printf(%d\n,sum);}g.编程实现输入n,判断n是不是质数;#includestdio.hintfun(intn){inti,k=1;if(n=1)k=0;for(i=2;in;i++)if(n%i==0)k=0;returnk;}main(){intn,k=0;printf(输入一个数n:);scanf(%d,&n);if(fun(n)==1)printf(是质数\n);elseprintf(不是质数\n);}h.求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字,d和n输入。#includestdio.hmain(){intn,d,sum=0,i=1,k=0;printf(请输入n和d的值);scanf(%d%d,&n,&d);while(i=n){k=k*10+d;sum=sum+k;i++;}printf(sum=%d\n,sum);}i.用一元五角钱兑换人民币5分、2分和1分的硬币(要求每种至少有一个)共100枚,请输出每种具体的兑换方案以及共有多少种方案。/*用1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,问共有几种兑换方案?每种方案各换多少枚?*/#includeiostream.hvoidmain(){inta,b,c,t=0;for(a=1;a

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功