C语言课后答案word版本_第1页
C语言课后答案word版本_第2页
C语言课后答案word版本_第3页
C语言课后答案word版本_第4页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习资料第 3 章三、编程题1 编写程序,输入一个非负数,输出以此数为半径的圆周长以及面积。#include stdio.h#define PI 3.1415void main()float r,area,circumference;scanf(%f,&r);area=PI*r*r;circumference=2*r*PI;printf(area=%6.2fncircumference=%6.2fn,area,circumference);2 编写程序,输出下面结果,注意,双引号也要输出:“Im a student!”#include void main()printf(Im a studen

2、t!n);3 编写程序,输入一个小写字母,将其转换为大写字母输出。例如输入b,则输出 B。提示:小写字母和对应的大写字母的ASCII 码值相差 32。void main()char ch;ch=getchar();ch-=32;putchar(ch);/printf(%c,ch);4 编写程序,输入一个华氏温度f ,输出其相应的摄氏温度c。华氏温度和摄氏温度的转换公式为:5c (f 32)9#include void main()float f,c;scanf(“%f”,&f);c=5.0*(f-32)/9;printf(“华氏温度 %5.2f 转换为摄氏温度为:%5.2fn ”,f,c);仅

3、供学习与参考学习资料第 4 章三、编程题1 输入一个整数,判断这个整数是奇数还是偶数(提示:整数的奇偶性可以利用取余运算符 %判定)。 #include void main()int a;scanf(%d,&a);if(a%2)printf( 奇数 n);elseprintf( 偶数 n);2 编写程序,输入一个24 小时制的时间,转换为12 小时制时间后进行输出。以13 点 15 分为例,输入:13:15 ,则输出:下午1:15 。#include void main()int hour,minute;scanf(%d:%d,&hour,&minute);if (hour12)hour=ho

4、ur-12;printf(%d:%dn,hour,minute);3 输入年号,判断它是否是闰年(如果年号能被400 整除,或能被4 整除,而不能被100 整除,则是闰年,否则不是)。void main()int year;scanf(%d,&year);if (year%400=0|(year%4=0&year%100=0)printf(%d 是闰年 n,year);elseprintf(%d 不是闰年 n,year);仅供学习与参考学习资料4 输入一个字符,如果是大写字母则输出对应的小写字母,如果是小写字母则输出相应的大写字母,如果都不是则原样输出。#include void main()

5、char ch;scanf(%c,&ch);if(ch=a&ch=A&ch=Z)ch+=32;printf(n%cn,ch);5 设计一个简单的计算器程序,能输入整型运算数和基本运算符(+,- ,* ,/ ),输出计算结果。例如:输入 2+6,输出 2+6=8。#includemain()float a,b,result;char op;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*:

6、 result=a*b; printf(%f,result); break;case/: if(b=0.0)printf(error!n);result=a/b;printf(=%f,result);default:printf(error due to the illegal input!n);第 5 章三、编程题1 编写程序,显示100 200 之间能被 7 除余 2 的所有整数。#include stdio.hmain()int i; for(i=100;i=200;i+) if(i%7=2) printf(t%dt,i);仅供学习与参考学习资料2 输入 n 个整数,求这n 个整数中的最

7、大数、最小数和偶数平均数,并输出。#include void main()int i,n,data,max=0,min=0,even=0,evennumber=0;printf(Please input the number of data:);scanf(%d,&n);printf(Please input the data:n);scanf(%d,&data);max=data;min=data;if (data%2=0)even=even+data;evennumber+;for(i=1;imax)max=data;elseif (datamin)min=data;if (data%2=

8、0)even=even+data;evennumber+;printf(The max is %dnThe min is %dn The average of even is %5.2fn,max,min,(float)(even)/evennumber);3 输入一串字符, 以回车作为结束标志。统计并输出这串字符中大写字母、小写字母和数字字符的个数。#include void main()int upper=0,lower=0,number=0;char letter;while(letter=getchar()!=n)仅供学习与参考学习资料if (letter=a&letter=A&let

9、ter=0&letter=9)number+;printf(the number of uppercase is:%dn,upper);printf(the number of lowercase is:%dn,lower);printf(the number of number is:%dn,number);4 输出九九乘法表。#include void main()int i,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 之间全部素数。#include #inclu

10、de math.hvoid main()int k,data,tag;for(data=3;data=1000;data+) /外层循环,用来产生2 1000 之间的整数tag=0;/tag用于表示数i 是否是素数,没有判断前先假定是素数for(k=2;k=3) (即从第三个数起,每个数等于前2 个数之和)。#include stdio.hvoid main()int f40,n;f0=1;f1=1;printf(Fibonacci数列的前 40 个数是: %dt%dt,f0,f1);for(n=2;n40;n+)fn=fn-1+fn-2;printf(%dt,fn);8 一个穷人找到一个百万

11、富翁,给他商讨一个换钱计划如下:我每天给你十万元,而你第一天只需给我一元钱,第二天给我二元钱,第三天给我四元钱, ,即我每天都给你十万元,你每天给我的钱都是前一天的两倍,直到满一个月(30 天)。百万富翁很高兴地接受了这个换钱计划。请编写程序计算满一个月时,穷人给了富翁多少钱,而富翁又给了穷人多少钱。#include void main()long poor=100000,rich=1,i;for(i=2;i0;i-)k = (j + 1) * 2;j = k;printf(%total=%dn,k);第 6 章三 1. #include #define n 10void main() int

12、 an,i,count1=0,count2=0,sum=0;float ave; for (i=0;i80)count1+=1;elseif(ai60)count2+=1;ave=sum/n;printf(%d个优秀 , %d 个不及格 ,平均分 :%f。 ,count1,count2,ave);2. #include #define n 10仅供学习与参考学习资料void main() int an,i,j,k,max,min; for (i=0;in;i+)scanf(%d,&ai);if (!i)max=min=ai;j=k=i;elseif (maxai)min=ai;k=i;prin

13、tf( 最大值 %d 在第 %d 位 ,最小值 %d 在第 %d 位。 ,max,j+1,min,k+1);3. #include #include void main() char s20,ch;int i,n;printf( 请输入字符串:);gets(s);n=strlen(s);for(i=0;in/2;i+)ch=si;si=sn-1-i;sn-1-i=ch;printf( 逆序存放的字符串:);puts(s);4. #include #define N 10void main() int i,j,n,aN+1;printf( 请输入 %d 个由小到大排列的整数:,N);for(i=

14、0;iN;i+)仅供学习与参考学习资料scanf(%d,&ai);printf( 请输入要插入的数:);scanf(%d,&n);for(i=0;in)j=i;break;if (i=N)j=i;for(i=N-1;i=j;i-)ai+1=ai;aj=n;printf( 插入后的排列:);for(i=0;i=N;i+)printf(%d ,ai);5. #include #define N 3void main() int i,j,aNN,sum=0;printf( 请输入 %d*%d 矩阵的元素: ,N,N);for(i=0;iN;i+)for(j=0;jN;j+)scanf(%d,&aij

15、);if(i=j)sum+=aij;printf( 主对角线元素之和:%d。 ,sum);6. #include #include void main() int i,j, n,k=0, b300; for (i=1;i300;i+)n=int(sqrt(i);for(j=2;jn)bk=i;k+;仅供学习与参考学习资料for(i=0;ik;i+)printf(%5d,bi);7. #include #define N 7void main() int i,j,k,aN,temp;printf( 请输入 %d 个整数: ,N);for(i=0;iN;i+)scanf(%d,&ai);for(i

16、=0;iN-1;i+)k=i;temp=ai;for(j=i+1;jaj)k=j;temp=aj;if (k!=i) ak=ai;ai=temp;printf( 排序后的数列:);for(i=0;iN;i+)printf(%3d,ai);8. #include void main() int i=0,count1=0,count2=0,count3=0; char s20;printf( 请输入字符串: );gets(s);while(si!=0)if(si=a&si=A&si=0&si=9)count2+;else count3+;i+;printf( 字符 %d 个,数字 %d 个,其他

17、%d 个。 ,count1,count2,count3);仅供学习与参考学习资料9. #include #include void main()char s20,ch;int i=0;printf( 请输入字符串:);gets(s);while(si!=0)si+=3;if (siz)si-=26;i+;printf( 加密后: );puts(s);10. #include #include void main()char s120,s220;int i=0,j=0; printf( 请输入字符串 1: ); gets(s1);printf( 请输入字符串 2: );gets(s2);whil

18、e (s1i!=0)i+;s1i=s2j;doi+;j+;s1i=s2j;while (s2j!=0);printf( 连接后: );puts(s1);11. #include #include void main()char s120,s220,s340;int i=0,j=0,k=0;printf( 请输入按字母序排列的字符串1: );gets(s1);printf( 请输入按字母序排列的字符串2: );gets(s2);仅供学习与参考学习资料while(s1i!=0&s2j!=0)if (s1is2j)s3k=s1i;k+;i+;elses3k=s2j;k+;j+;while(s1i!=

19、0)s3k=s1i; k+;i+;while(s2j!=0)s3k=s2j;k+;j+;s3k=0;printf( 合并后的字符串:);puts(s3);12. #include void main()int i,j,a55;for(i=0;i=0;j-)if(j=i)aij=1;elseaij=aij+1+1;for(i=0;i5;i+) for(j=0;j5;j+) printf(%3d,aij);printf(n);13. #include void main()int i,j,a88;for(i=0;i8;i+)for(j=0;j8;j+)if(j=i|(i+j)=7)仅供学习与参考学

20、习资料aij=1;elseaij=0;for(i=0;i8;i+) for(j=0;j8;j+)printf(%3d,aij);printf(n);14. #include void main()int i,j,sum,a53=20,30,26,30,20,25,25,50,20,46,15,10,35,15,12;for(i=0;i5;i+)sum=0;for(j=0;j3;j+)sum+=aij;switch (i)case 0:printf( 第一个 );break;case 1:printf( 第二个 );break;case 2:printf( 第三个 );break;case 3:

21、printf( 第四个 );break;case 4:printf( 第五个 );break;printf( 企业的总产值是:%d 万元。 n,sum);for(j=0;j3;j+) sum=0; for(i=0;i5;i+)sum+=aij; switch (j)case 0:printf(A);break; case 1:printf(B);break; case 2:printf(C);break;printf( 产品的总产值是: %d 万元。 n,sum);15. #include #define N 5void main()int i,j,aNN,bN;printf( 请输入 %d

22、个数: ,N);for(i=0;iN;i+)仅供学习与参考学习资料scanf(%d,&bi);for(i=0;iN;i+)for(j=i;jN;j+)aij=bj-i;for(j=0;ji;j+)aij=aji;for(i=0;iN;i+)for(j=0;jN;j+)printf(%3d,aij);printf(n);16. #include void main()int i=0,j=0,m,n,a20,b20;printf( 请输入数组a 中的数据,以0 结束: );scanf(%d,&ai);while(ai!=0) i+; scanf(%d,&ai);printf( 请输入数组b 中的数

23、据 ,以 0 结束: );scanf(%d,&bj);while(bj!=0)j+;scanf(%d,&bj);for(m=0;mi;m+)for(n=0;nj;n+)if(am=bn)printf(%3d在 a 中下标为 %d,在 b 中下标为 %d。,am,m,n);17. #include void main()int a2020,b2020,flag12020,flag22020,i,j,s,t,k,l,m,n; printf( 请输入数组 a 的一维长度: ); scanf(%d,&k);printf( 请输入数组a 的二维长度: );scanf(%d,&l);printf( 请输入

24、数组a 中的数据: );for(i=0;ik;i+)for(j=0;jl;j+)仅供学习与参考学习资料scanf(%d,&aij);for(i=0;ik;i+) for(j=0;jl;j+)printf(%3d,aij); flag1ij=1;printf(n);printf( 请输入数组b 的一维长度: );scanf(%d,&m);printf( 请输入数组b 的二维长度: );scanf(%d,&n);printf( 请输入数组b 中的数据: );for(i=0;im;i+)for(j=0;jn;j+)scanf(%d,&bij);for(i=0;im;i+) for(j=0;jn;j+

25、)printf(%3d,bij); flag2ij=1;printf(n);for(i=0;ik;i+)for(j=0;jl;j+)for(s=0;sm;s+)for(t=0;tn;t+)if(aij=bst)flag1ij=0;flag2st=0;printf( 只在一个数组中存在的有:);for(i=0;ik;i+)for(j=0;jl;j+)if(flag1ij)printf(%3d,aij);for(i=0;im;i+)for(j=0;jn;j+)if(flag2ij)printf(%3d,bij);18. #include void main()int a101,i,j,count=

26、0;仅供学习与参考学习资料for(i=1;i=100;i+)ai=1;for(i=2;i=100;i+)for(j=i;j=100;j+)if(j % i =0)aj*=-1;for(i=1;i=100;i+)if(ai=1)count+;printf( 第%d 张正面朝上。 n,i);printf( 共有 %d 张正面朝上。 n,count);19. #include void main()int n,i,j,k,top,bottom,left,right,goup,godown,goleft,goright,a2020;i=0;j=0;goright=1;goup=0;godown=0;g

27、oleft=0;printf( 请输入方阵的维数:);scanf(%d,&n);top=-1;bottom=n;left=-1;right=n;for(k=1;k=n*n;k+)aij=k; if(goright) if(jright-1) j+;elsegoright=0;godown=1;top+;i+;continue;if(godown) if(ileft+1) j-;elsegoleft=0;goup=1;bottom-;i-;continue;if(goup) if(itop+1)i-;elsegoup=0;goright=1;left+;j+;continue;for(i=0;i

28、n;i+) for(j=0;jn;j+) printf(%5d,aij);printf(n);第 7 章第 8 章三、编程题1.#include stdio.h#define N 10void main()int i_valN;int *p;int i,j,val,k;for (i = 0 ; i N ; i+)仅供学习与参考学习资料scanf(%d,i_val+i);p = &i_val0;printf( 排序前结果如下 :n);for(i = 0 ; i N; i+)printf(%dn,*(p+i);printf(n);for( i = 0 ; i N-1; i+)k=i;for(j =

29、 i+1 ; j N ; j+)if (pj pk)k=j;if (k!=i)val=pi;pi=pk;pk=val;printf( 排序后结果如下 n);for(i = 0 ; i N; i+)printf(%dn,*(p+i);printf(n);2#include stdio.h#define N 3void main()int i_valNN=11,12,13,21,22,23,31,32,33;int *p;int nSum=0;int i;p = i_val0;printf( 求对角线元素之和 );for( i = 0 ; i N; i+)仅供学习与参考学习资料nSum += pi*N+i;nSum += p(N-i-1)*N+i;if(N%2)nSum-=pN/2*N+N/2;printf( 结果如下 :n);printf(%dn,n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论