C语言编程习题

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

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

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

资源描述

编程习题1.交换2个变量的值。#includestdio.hintmain(intargc,char*argv[]){intx,y,temp;scanf(%d%d,&x,&y);printf(x=%d,y=%d\n,x,y);temp=x;x=y;y=temp;printf(x=%d,y=%d\n,x,y);}2.从键盘输入5个学生的成绩,计算出总成绩和平均成绩。#includestdio.hintmain(intargc,char*argv[]){floati,j,n,m,z;intsum=0,avg=0;printf(请输入成绩\n);scanf(%f%f%f%f%f,&i,&j,&n,&m,&z);sum=i+j+n+m+z;avg=sum/5;printf(%.1d\n%.ld\n,sum,avg);}3.用if或switch语句编程,将百分制成绩转换为等级分:90以上A,80-89为B,70-79为C,60-69为D,其他为F.解法一switch:#includestdio.hintmain(intargc,char*argv[]){intx;scanf(%d,&x);switch(x/10){case9:printf(A\n);break;case8:printf(B\n);break;case7:printf(C\n);break;case6:printf(D\n);break;default:printf(F\n);}}解法二if:#includestdio.hintmain(intargc,char*argv[]){intx;scanf(%d,&x);if(x/10=10&&x/10=9)printf(A\n);elseif(x/10=8&&x/109)printf(B\n);elseif(x/10=7&&x/108)printf(C\n);elseif(x/10=6&&x/107)printf(D\n);elseprintf(F\n);}4.用if或switch语句编程,要求实现:从键盘输入1、2、3、4,分别显示excellent、good、pass、fail,输入其他键时显示“error”。解法一switch:#includestdio.hintmain(intargc,char*argv[]){intx;printf(请输入数字\n);scanf(%d,&x);switch(x){case1:printf(excellent\n);break;case2:printf(good\n);break;case3:printf(pass\n);break;case4:printf(fail\n);break;default:printf(error\n);}}解法二if:#includestdio.hintmain(intargc,char*argv[]){intx;printf(请输入数字\n);scanf(%d,&x);if(x0&&x=4){if(x==1)printf(excellent\n,1);if(x==2)printf(good\n,2);if(x==3)printf(pass\n,3);if(x==4)printf(fail\n,4);}elseprintf(error\n);}5.编写一个程序,计算并输出一个整数n的个位数字之和。比如n=5678,各位数字之和为5+6+7+8,n的值由键盘输入,可以是任意几位数。#includestdio.hintmain(intargc,char*argv[]){intn,sum=1,i,j=0;printf(输入整数n);scanf(%d,&n);for(i=0;in;i++){j=n-n/10*10;n=n/10;sum=sum+j;if(n==0)break;}printf(%d\n,sum);}6.编写程序实现编程输出所有的水仙花数,并统计输出个数,所谓水仙花数是指一个3位自然数,其各位数字的立方和等于该数本身。例如153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*37.编程实现九九乘法表#includestdio.hintmain(intargc,char*argv[]){inti,j;for(i=1;i10;i++){for(j=1;j=i;j++)printf(%d*%d=%d,i,j,i*j);printf(\n);}printf(\n);}8.编一函数判别某一数是否为素数,若是,返回值为1,否则,返回值为0。main函数中调用该函数9.编写函数输出1-20的所以素数。#includestdio.hintmain(intargc,char*argv[]){intflag=0;for(inti=1;i=20;i++){flag=0;for(intj=2;ji;j++){if(i%j==0){flag=1;break;}}if(!flag)printf(%d\n,i);}return0;}10.编写程序实现编程输出所有的水仙花数,并统计输出个数,所谓水仙花数是指一个3位自然数,其各位数字的立方和等于该数本身。例如153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。要求设计一个函数shuixian用于判断一个数是否为水仙花数,在main函数中调用该函数,输出所有水仙花数。#includestdio.hintshuixian(intn){intflag=0,n1,n2,n3;n1=n%10;n2=(n/10)%10;n3=n/100;if(n1*n1*n1+n2*n2*n2+n3*n3*n3==n)flag=1;elseflag=0;returnflag;}intmain(intargc,char*argv[]){inti;for(i=100;i1000;i++)if(shuixian(i))printf(%6d,i);printf(\n);return0;}10.运用指针,将abcde反向输出。#includestdio.hintmain(intargc,char*argv[]){charst[]=abcde,*p;inti,n;n=strlen(st);puts(st);for(i=0;i2;i++){*p=*(st+i);*(st+i)=*(st+n-i-1);*(st+n-i-1)=*p;}puts(st);return0;}11.编程实现菱形*图。【要求:菱形行数从键盘输入。】#includestdio.hintmain(intargc,char*argv[]){inti,k,j,n;scanf(%d,&n);for(i=1;i=n;i++){for(k=1;k=n-i;k++)printf();{for(j=1;j=2*i-1;j++)printf(*);printf(\n);}}for(i=n-1;i0;i--){for(k=1;k=n-i;k++)printf();{for(j=1;j=2*i-1;j++)printf(*);printf(\n);}}}12.编程求1+1/2+1/3+1/4+...+1/n#includestdio.hintmain(intargc,char*argv[]){doublefun(intn);intn;scanf(%d,&n);printf(sum=%f,fun(n));}doublefun(intn){doublesum=0;inti;for(i=1;i=n;i++)sum+=1.0/i;returnsum;}13编程.输出“thisisateststring,haha!”的字符串的长度,空格出现的次数和元音字母的个数。#includestdio.hintmain(intargc,char*argv[]){intn=0,m=0,s=0;charch[50]=thisisateststring,haha!;while(ch[n]!='\0'){if(ch[n]=='')m++;elseif(ch[n]=='a'||ch[n]=='e'||ch[n]=='i'||ch[n]=='o'||ch[n]=='u')s++;n++;}printf(字符串的长度(n)为:%d\n,n);printf(空格出现的次数(m)为:%d\n,m);printf(元音字母个数(s)为:%d\n,s);return0;}14.二维数组,求一个4*4阶矩阵元素的最小值。#includestdio.hintmain(intargc,char*argv[]){staticinta[4][4]={{12,76,4,1},{-19,28,55,-6},{2,10,13,-3},{3,-9,112,111}};inti,j,row,column,min;min=a[0][0];for(i=0;i4;i++)for(j=0;j4;j++)if(a[i][j]min){min=a[i][j];row=i,column=j;}printf(Min=%d,%drows,%dcolumn\n,min,row+1,column+1);}

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

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

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

×
保存成功