C语言课后答案

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

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

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

资源描述

第3章三、编程题1.编写程序,输入一个非负数,输出以此数为半径的圆周长以及面积。#includestdio.h#definePI3.1415voidmain(){floatr,area,circumference;scanf(%f,&r);area=PI*r*r;circumference=2*r*PI;printf(area=%6.2f\ncircumference=%6.2f\n,area,circumference);}2.编写程序,输出下面结果,注意,双引号也要输出:“I'mastudent!”#includestdio.hvoidmain(){printf(\I\'mastudent!\\n);}3.编写程序,输入一个小写字母,将其转换为大写字母输出。例如输入b,则输出B。提示:小写字母和对应的大写字母的ASCII码值相差32。voidmain(){charch;ch=getchar();ch-=32;putchar(ch);//printf(%c,ch);}4.编写程序,输入一个华氏温度f,输出其相应的摄氏温度c。华氏温度和摄氏温度的转换公式为:)32f(95c#includestdio.hvoidmain(){floatf,c;scanf(“%f”,&f);c=5.0*(f-32)/9;printf(“华氏温度%5.2f转换为摄氏温度为:%5.2f\n”,f,c);}第4章三、编程题1.输入一个整数,判断这个整数是奇数还是偶数(提示:整数的奇偶性可以利用取余运算符%判定)。#includestdio.hvoidmain(){inta;scanf(%d,&a);if(a%2)printf(奇数\n);elseprintf(偶数\n);}2.编写程序,输入一个24小时制的时间,转换为12小时制时间后进行输出。以13点15分为例,输入:13:15,则输出:下午1:15。#includestdio.hvoidmain(){inthour,minute;scanf(%d:%d,&hour,&minute);if(hour12)hour=hour-12;printf(%d:%d\n,hour,minute);}3.输入年号,判断它是否是闰年(如果年号能被400整除,或能被4整除,而不能被100整除,则是闰年,否则不是)。voidmain(){intyear;scanf(%d,&year);if(year%400==0||(year%4==0&&year%100==0))printf(%d是闰年\n,year);elseprintf(%d不是闰年\n,year);}4.输入一个字符,如果是大写字母则输出对应的小写字母,如果是小写字母则输出相应的大写字母,如果都不是则原样输出。#includestdio.hvoidmain(){charch;scanf(%c,&ch);if(ch='a'&&ch='z')ch-=32;elseif(ch='A'&&ch='Z')ch+=32;printf(\n%c\n,ch);}5.设计一个简单的计算器程序,能输入整型运算数和基本运算符(+,-,*,/),输出计算结果。例如:输入2+6,输出2+6=8。#includestdio.hmain(){floata,b,result;charop;scanf(%f%c%f,&a,&op,&b);switch(op){case'+':result=a+b;printf(=%f,result);break;case'-':result=a-b;printf(=%f,result);break;case'*':result=a*b;printf(%f,result);break;case'/':if(b==0.0)printf(error!\n);result=a/b;printf(=%f,result);default:printf(errorduetotheillegalinput!\n);}}第5章三、编程题1.编写程序,显示100~200之间能被7除余2的所有整数。#includestdio.hmain(){inti;for(i=100;i=200;i++){if(i%7==2)printf(\t%d\t,i);}}2.输入n个整数,求这n个整数中的最大数、最小数和偶数平均数,并输出。#includestdio.hvoidmain(){inti,n,data,max=0,min=0,even=0,evennumber=0;printf(Pleaseinputthenumberofdata:);scanf(%d,&n);printf(Pleaseinputthedata:\n);scanf(%d,&data);max=data;min=data;if(data%2==0){even=even+data;evennumber++;}for(i=1;in;i++){scanf(%d,&data);if(datamax)max=data;elseif(datamin)min=data;if(data%2==0){even=even+data;evennumber++;}}printf(Themaxis%d\nTheminis%d\nTheaverageofevenis%5.2f\n,max,min,(float)(even)/evennumber);}3.输入一串字符,以回车作为结束标志。统计并输出这串字符中大写字母、小写字母和数字字符的个数。#includestdio.hvoidmain(){intupper=0,lower=0,number=0;charletter;while((letter=getchar())!='\n'){if(letter='a'&&letter='z')lower++;elseif(letter='A'&&letter='Z')upper++;elseif(letter='0'&&letter='9')number++;}printf(thenumberofuppercaseis:%d\n,upper);printf(thenumberoflowercaseis:%d\n,lower);printf(thenumberofnumberis:%d\n,number);}4.输出九九乘法表。#includestdio.hvoidmain(){inti,j;for(i=1;i=9;i++){for(j=1;j=i;j++)printf(%d*%d=%-3d,i,j,i*j);printf(\n);}}5.编写程序,输出3~1000之间全部素数。#includestdio.h#includemath.hvoidmain(){intk,data,tag;for(data=3;data=1000;data++)//外层循环,用来产生2~1000之间的整数{tag=0;//tag用于表示数i是否是素数,没有判断前先假定是素数for(k=2;k=sqrt(data)&&!tag;k++)//内层循环用来判断data是否有约数{if(data%k==0)tag=1;}if(tag==1)printf(%4d,data);//如果i是素数,则输出}}6.输入一个三位数,判断其是否是“水仙花数”。水仙花数是指3位数中的各位数字的立方和等于这3位数本身。如153=1*1*1+5*5*5+3*3*3。#includestdio.hvoidmain(){intS,a,b,c;printf(请输入一个3位数:);scanf(%d,&S);a=S/100;b=S%100/10;c=S%10;if(a*a*a+b*b*b+c*c*c==S)printf(%d是水仙花数。,S);elseprintf(%d不是水仙花数。\n,S);}7.编程求Fibonacci数列的前40个数。该数列的生成方法是:F1=1,F2=1,Fn=Fn-1+Fn-2(n=3)(即从第三个数起,每个数等于前2个数之和)。#includestdio.hvoidmain(){intf[40],n;f[0]=1;f[1]=1;printf(Fibonacci数列的前40个数是:%d\t%d\t,f[0],f[1]);for(n=2;n40;n++){f[n]=f[n-1]+f[n-2];printf(%d\t,f[n]);}}8.一个穷人找到一个百万富翁,给他商讨一个换钱计划如下:我每天给你十万元,而你第一天只需给我一元钱,第二天给我二元钱,第三天给我四元钱,……,即我每天都给你十万元,你每天给我的钱都是前一天的两倍,直到满一个月(30天)。百万富翁很高兴地接受了这个换钱计划。请编写程序计算满一个月时,穷人给了富翁多少钱,而富翁又给了穷人多少钱。#includestdio.hvoidmain(){longpoor=100000,rich=1,i;for(i=2;i=30;i++){poor=poor+100000;rich=rich*2;}printf(Moneyofpoorgivingrichis%ld\nMoneyofrichgivingpooris%ld\n,poor,rich);}9.猴子吃桃问题。猴子第一天摘下若干桃子,立即吃了一半,不过瘾又多吃了一个。第二天早上又将剩下的桃子吃了一半,又多吃了一个。以后的每天早上都是吃了前一天剩下的一半加一个。到第10天早上时只剩下一个桃子了。编写程序,求猴子第一天共摘了多少桃子。/************************************************************************//*有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个*//*到了第10天就只余下一个桃子。(C语言实现)*//*用多种方法实现求出原来这群猴子共摘了多少个桃子。*//************************************************************************//*运行环境:VC++6.0*//************************************************************************/#includestdio.hmain(){inti,j,k;/*j是最后的桃子数,k是中间变量,也是桃子总数*/j=1;for(i=9;i0;i--){k=(j+1)*2;j=k;}printf(%total=%d\n,k);}第6章三.1.#includestdio.h#definen10voidmain(){inta[n],i,count1=0,count2=0,sum=0;floatave;for(i=0;in;i++){scanf(%d,&a[i]);sum+=a[i];if(a[i]80)count1+=1;elseif(a[i]60)count2+=1;}ave=sum/n;printf(%d个优秀,%d个不及格,平均分:%f。,count1,count2,ave);}2.#includestdio.h#definen10voidmain(){inta[n],i,j,k,max,min;for(i=0;in;i++){scanf(%d,&a[i]);if(!i){max=min=a[i];j=k=i;}else{if(maxa[i]){max=a[i];j=i;}elseif(mina[i]){min=a[i];k=i;}}}printf(最大值%d在第%d位,最小值%d在第%d位。,max,j+1,min,k+1);}3.#includestdio.h#includestring.hvoidmain(){chars[20],ch;inti,n;printf(请输入字符串:);ge

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

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功