C语言经典案例53题(每题都有程序,适合中职技能高考)1、求100之内自然数中最大的能被17整除的数。#includestdio.hvoidmain(){inti;for(i=100;i0;i--)if(i%17==0)break;printf(%d\n,i);}2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。#includestdio.hvoidmain(){inta,b,c;for(a=1;a=9;a++){for(b=0;b=9;b++){for(c=1;c=9;c++)if(a*100+b*10+c+c*100+b*10+a==1333)printf(%d,%d,%d\n,a,b,c);}}}3、计算并输出200-400之间不能被3整除的整数的和。#includestdio.hvoidmain(){inti,sum=0;for(i=200;i=400;i++)if(i%3!=0)sum=sum+i;printf(%d\n,sum);}4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。#includestdio.hvoidmain(){inti,n=0,sum=0;inta[10];printf(“请输入10个数:”);for(i=0;i10;i++)scanf(“%d”,&a[i]);for(i=0;i10;i++)if(a[i]=0){sum=sum+a[i];n++;}printf(非负个数是%d,sum=%d\n,n,sum);}5、求100之内自然数中偶数之和。#includestdio.hvoidmain(){inti,sum=0;for(i=0;i=100;i++)if(i%2==0)sum=sum+i;printf(sum=%d\n,sum);}6、输入5个数,求和并输出。要求编写求和的函数。#includestdio.hvoidmain(){intb(intx[],intn);intsum=0;inta[5];inti;printf(请输入5个数:);for(i=0;i5;i++)scanf(%d,&a[i]);sum=b(a,5);printf(sum=%d\n,sum);}intb(intx[],intn){inti,sum=0;for(i=0;i5;i++)sum=sum+x[i];returnsum;}7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。#includestdio.hvoidmain(){inti,sum=0;for(i=1;i=99;i=i+2)sum=sum+i*(i+1)*(i+2);printf(%d\n,sum);}8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。#includestdio.h#includestring.hvoidmain(){inti,n;charb[20];printf(请输入字符串:);gets(b);n=strlen(b);for(i=0;in;i++)if(b[i]=='a')b[i]='*';for(i=0;in;i++)printf(%c,b[i]);printf(\n);}9、编写程序,将一个一维数组的元素逆序存放并输出。例如,原顺序为1,2,3,4,5,逆序后为5,4,3,2,1。#includestdio.hvoidmain(){inti;inta[5];printf(“请输入5个数:”);for(i=0;i5;i++)scanf(“%d”,&a[i]);for(i=0;i2;i++){t=a[i];a[i]=a[4-i];a[4-i]=t;}for(i=0;i5;i++)printf(%d,b[i]);printf(\n);}10、求3行3列矩阵a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。#includestdio.hvoidmain(){inti,j,sum=0;inta[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i3;i++)for(j=0;j3;j++)if(i!=j&&i+j!=2)sum=sum+a[i][j];printf(%d,sum);printf(\n);}11、编程判断输入的整数的正负性和奇偶性。如果为正数,输出z;如果为负数,输出f;如果为偶数,输出o;如果为奇数,输出j#includestdio.hvoidmain(){inta;printf(“请输入一个数:”);scanf(“%d”,&a);if(a0)printf(z\n);if(a0)printf(f\n);if(a%2==0)printf(o\n);if(a%2!=0)printf(j\n);}12、计算并输出1-200之间不能被5整除的整数的和。#includestdio.hvoidmain(){inti,sum=0;for(i=1;i=200;i++)if(i%5!=0)sum=sum+i;printf(%d\n,sum);}13、从键盘输入n和a的值,计算a+aa+aaa+...+aa...a(n个a)的值。#includestdio.hvoidmain(){inti,a,n;longintsum=0,st=0;printf(请输a和n:);scanf(%d%d,&a,&n);for(i=1;i=n;i++){st=st+a;sum=sum+st;a=a*10;}printf(%ld\n,sum);}14、输入5个数,求它们中最大值和平均值并输出。#includestdio.hvoidmain(){inta[5];inti,j,max,sum=0;floataverage;printf(请输入5个数:);for(i=0;i5;i++)scanf(%d,&a[i]);max=a[0];for(j=0;j5;j++){sum=sum+a[j];if(maxa[j])max=a[j];}average=1.0/5*sum;printf(max=%d,average=%f\n,max,average);}15、输出所有200-400之间能被3整除且个位数字为6的整数。#includestdio.hvoidmain(){inti;for(i=200;i=400;i++)if((i%3==0)&&((i-6)%10==0))printf(%d\n,i);printf(\n);}16、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余的字符。#includestdio.hvoidmain(){inti,j,n1;chara[20];printf(请输入字符串:);gets(a);n1=strlen(a);for(i=0;in1;i++)if(a[i]!='a')printf(%c,a[i]);printf(\n);}17、计算并输出200-400之间不能被7整除的整数的和。#includestdio.hvoidmain(){inti,sum=0;for(i=200;i=400;i++)if(i%7!=0)sum=sum+i;printf(sum=%d\n,sum);}18.计算并输出200-400之间不能被5整除的整数的和。#includestdio.hvoidmain(){inti,sum=0;for(i=200;i=400;i++)if(i%5!=0)sum=sum+i;printf(sum=%d\n,sum);}19、从键盘输入10个数,统计非正数的个数,并计算非正数的和#includestdio.hvoidmain(){inti,n=0,sum=0;inta[10];printf(“请输入10个数:”);for(i=0;i10;i++)scanf(“%d”,&a[i]);for(i=0;i10;i++)if(a[i]=0){sum=sum+a[i];n++;}printf(非正个数是%d,sum=%d\n,n,sum);}20、输入一串字符,将其中的大写字母变成对应的小写字母并输出。#includestdio.h#includestring.hvoidmain(){inti,n;chara[20];printf(请输入字符串:);gets(a);n=strlen(a);for(i=0;in;i++)if(a[i]='A'&&a[i]='Z')a[i]=a[i]+32;for(i=0;in;i++)printf(%c,a[i]);printf(\n);}21、打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。例如,153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。#includestdio.hvoidmain(){inta,b,c,s;for(a=1;a=9;a++){for(b=0;b=9;b++){for(c=0;c=9;c++)if(a*100+b*10+c==a*a*a+b*b*b*b+c*c*c){s=a*100+b*10+c;printf(%d\n,s);}}}}22、一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求当它第10次落地时,共经过了多少米,第10次反弹多高?#includestdio.hvoidmain(){inti;floatsum=100.0,h=50;for(i=2;i=10;i++){sum=sum+2*h;h=h/2;}printf(%f,%f\n,sum,h);}23、输出所有0-200之间能被3整除且个位数字为6的整数。#includestdio.hvoidmain(){inti;for(i=0;i=200;i++)if((i%3==0)&&((i-6)%10==0))printf(%d\n,i);printf(\n);}24、输入一个正整数,输出它的阶乘。#includestdio.hvoidmain(){inti,J=1,n=10;printf(“请输入一个正整数:”);scanf(“%d”,&n);for(i=1;i=n;i++)J=J*i;printf(%d的阶乘是:%d\n,n,J);}25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。#includestdio.h#includestring.hvoidmain(){inti,x,m=0,n=0,k=0,j=0;chara[20];printf(请输入字符串:);gets(a);x=strlen(a);for(i=0;ix;i++){if(a[i]=='*')break;elseif(a[i]='0'&&a[i]='9')m++;elseif(a[i]='A'&&a[i]='Z')n++;elseif(a[i]='a'&&a[i]='z')k++;elsej++;}printf(%d,%d,%d,%d\n,m,n,k,j);}26、编写程序,使用循环结构输出下列图形:********************#includestdio.hvoidmain(){inti,j,k;for(i=0;i5;i++){for(j=0;j4-i;j++)printf();for(k=0;k4;k++)printf(*);printf(\n);}printf(\n);}27、输入一串字符,逆序输出。要求使用数组实现。#includestdio.h#includestring.hvoidmain(){inti,j,t,n;chara[10];printf(请输入字符串:);gets(a);n=strlen(a