您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言经典例题及答案
作业一一、求一个任意边长的矩形面积。#includestdio.hvoidmain(){intw,h,sum;scanf(%d%d,&w,&h);sum=w*h;printf(area=%d\n,sum);}二、求一个任意半径的圆的面积及周长。#definePI3.14159#includestdio.hvoidmain(){floatr,area,c;scanf(%f,&r);area=PI*r*r;c=2*PI*r;printf(area=%f\ncircle=%f\n,area,c);}三、已知:w=5,y=4,z=2,求表达式:w*y/z的值,并输出。##includestdio.hvoidmain(){intw,y,z,r;w=5;y=4;z=2;r=w*y/z;printf(%5d,r);}作业二一、从键盘上输入三个数,求出其中的最大值,并输出。#includestdio.hvoidmain(){inta,b,c,max;scanf(%d%d%d,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(max=%d\n,max);}二、求sin300。+sin600+cos300+cos600之和。(注意:30*3.14159/180)#includestdio.h#definePI3.14159#includemath.hvoidmain(){floata,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf(total=%f\n,sum);}三、比较两个数的大小。如果x大于y,则输出:xy,否则输出:xy。#includestdio.hvoidmain(){intx,y;scanf(%d,%d,&x,&y);if(xy)printf(xy\n);elseprintf(xy\n);}作业三一、输入a、b、c三个值,按从小到大排序输出。#includestdio.hvoidmain(){inta,b,c,t;scanf(%d%d%d,&a,&b,&c);if(ab){t=b;b=a;a=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;b=c;c=t;}printf(%3d%3d%3d\n,a,b,c);}.二、求自然数1~10之和。。#includestdio.hvoidmain(){inti,sum;i=1;sum=0;while(i=10){sum=sum+i;i++;}printf(sum=%d\n,sum);}三、输入10个整数,统计出正数之和以及负数之和。(求奇数之和以及偶数之和)#includestdio.hvoidmain(){intsum1=0,sum2=0,i,x;i=1;while(i=10){scanf(%d,&x);if(x%2==0)sum1=sum1+x;elsesum2=sum2+x;i++;}printf(sum1=%d\nsum2=%d\n,sum1,sum2);}作业四一、输入一个0~6的整数,转换成星期输出。#includestdio.hmain(){inta;scanf(%d,&a);switch(a){case0:printf(Sunday);break;case1:printf(Monday);break;case2:printf(Tuesday);break;case3:printf(Wednesday);break;case4:printf(Thursday);break;case5:printf(Friday);break;case6:printf(saturday);break;default:printf(Iamsorry.Youarewrong.\n);}}.二、输入一个整数,将各位数字反转后输出。如:输入365,则输出显示为563。#includestdio.hvoidmain(){intx,r;scanf(%d,&x);printf(converis:);while(x!=0){r=x%10;printf(%d,r);x=x/10;}printf(\n);}三、输入一个整数,求出它的所有因子。#includestdio.hvoidmain(){intx,i;scanf(%d,&x);for(i=1;i=x;i++)if(x%i==0)printf(%3d,i);}作业五一、求100~200之间的素数。#includestdio.h#includemath.hvoidmain(){intj=0,x,n,i;for(x=100;x=200;x++){n=sqrt(x);for(i=2;i=n;i++){if(x%i==0)break;}if(in){printf(%5d,x);j++;}if(j%5==0)printf(\n);}}二、编程输出三角形的9×9乘法表。#includestdio.hvoidmain(){inti,j;for(i=1;i10;i++){for(j=1;j=i;j++)printf(%d*%d=%d,i,j,i*j);printf(\n);}}三、求任意二个数的最大公约数。#includestdio.hmain(){inta,b,m,n,q;scanf(%d%d,&m,&n);a=m;b=n;if(ab){intz;z=a;a=b;b=z;}do{q=b%a;b=a;a=q;}while(q!=0);printf(%d\n,b);}作业六一、利用循环语句求1217151311n(直到第100项的和)。#includestdio.hvoidmain(){inti,t=1;floats=1,p=0,n=1;for(i=1;i=100;i++){p=p+s;n=n+2;t=-t;s=t/n;}printf(%f\n,p);}二、编写求S=51nn!。#includestdio.hvoidmain(){intx,y=0,n,i;for(n=1;n=5;n++){x=1;for(i=1;i=n;i++)x=x*i;y=y+x;}printf(%d\n,y);}三、利用公式求cosx的近似值(精度为10-6):)!2()1(!6!4!21cos20642nxxxxxnnn#includestdio.h#includemath.hvoidmain(){floatn=1,t=1,pi=0,s=1,x,i=1;scanf(%f,&x);while(fabs(t)=1e-6){pi+=t;n=n*i*(i+1);s=-s*x*x;i++;t=s/n;}printf(%f,pi);}作业七一、用选择法对10个整数排序(由大到小)。#includestdio.hvoidmain(void){inta[10],i,j,t;for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i9;i++)for(j=0;j9-i;j++)if(a[j]a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i10;i++)printf(%6d,a[i]);printf(\n);}二、输入10个学生的一门课成绩,用一维数组存放其成绩,统计并输出不及格人数及其百分比。#includestdio.hvoidmain(void){inti,count=0;floatscore[10],percent;for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i10;i++)if(score[i]60)count++;percent=(float)count/10;printf(%d,%5.1f,count,percent);}三、编程实现N阶方阵转置。#includestdio.hvoidmain(){inta[3][3],b[3][3],i,j;for(i=0;i3;i++)for(j=0;j3;j++)scanf(%d,&a[i][j]);for(i=0;i3;i++)for(j=0;j3;j++)b[j][i]=a[i][j];printf(\n);for(i=0;i3;i++){for(j=0;j3;j++)printf(%4d,b[i][j]);printf(\n);}}作业八一、把输入的一个字符串按逆序重新排序其字符,并输出。#includestdio.h#includestring.hvoidmain(){chara[80],k;inti,j;gets(a);for(i=0,j=strlen(a)-1;ij;i++,j--){k=a[i];a[i]=a[j];a[j]=k;}puts(a);}二、从键盘输入一个字符串。要求分别统计出其中英文大写字母、小写字母、数字、空格、以及其它字符的个数#includestdio.hvoidmain(){inti,a=0,b=0,c=0,d=0,e=0;charq[20];gets(q);for(i=0;q[i]!='\0';i++){if(q[i]='0'&&q[i]='9')a++;elseif(q[i]='a'&&q[i]='z')b++;elseif(q[i]='A'&&q[i]='Z')c++;elseif(q[i]=='')d++;elsee++;}printf(%3d%4d%3d%3d%3d,a,b,c,d,e);}三、输入五个英文单词,请找出它们之中按字典排序法排在最前的一个词。#includestdio.h#includestring.hvoidmain(){chara[5][30],b[30];inti,j,k;for(i=0;i5;i++)gets(a[i]);for(i=0;i5;i++){k=i;strcpy(b,a[i]);for(j=i+1;j5;j++)if(strcmp(a[j],b)0){k=j;strcpy(b,a[j]);}if(k!=i){strcpy(b,a[i]);strcpy(a[i],a[k]);strcpy(a[k],b);}puts(a[i]);}printf(\n);}作业九一、编写一函数,将字符串中的小写字母转换为大写字母,主函数输入字符串并输出结果。#includestdio.hcharchange(chara[]){inti;for(i=0;a[i]!='\0';i++)if(a[i]='a'&&a[i]='z')a[i]=a[i]-32;}voidmain(){charb[80];gets(b);change(b);puts(b);}二、编写一函数求N!。在主函数中输入N,调用函数求N!,输出结果。#includestdio.hintsum(intn){inti,pi=1;for(i=1;i=n;i++)pi=pi*i;return(pi);}voidmain(){intp=0,n;scanf(%d,&n);p=sum(n);printf(%d\n,p);}三、编写一个函数,求二维数组所有元素的和,要求二维数组的行、列以及数组通过函数参数传递,并通过主函数调用求2行3列的数组的所有元素之和。#includestdio.hintnum(inta[2][3],intn,intm){intsum=0,i,j;for(i=0;in;i++)for(j=0;jm;j++)sum=sum+a[i][j];return(sum);}voidmain(){inta[2][3],i,j;intp=0,n=2,m=3;for(i=0;i2;i++)
本文标题:C语言经典例题及答案
链接地址:https://www.777doc.com/doc-3358395 .html