1、二、改错题1. 统计输入字符串中大小写字母的个数程序 Cmody 041.c,其功能是统计输入字符串中大小写字母的个数,如输入:abcdEFGHIJK 123输出:4答案:#include #include main()char str1128;/*/ int i;len, sum=0; /*/ /* int i, len, sum=0;*/gets(str1);len = strlen(str1);for(i=0; i= a | str1i = a printf(“Please input 8 numbers:n“);for(i=0; i=0; i-)*/printf(“%d “, ai);
2、 printf(“n“ );getch();3. 计算大于 10 的最小 n 个能被 3 整除的正整数之和.程序 Cmody 012.c 中函数 fun(int n)的功能是: 根据参数 n,计算大于 10 的最小 n 个能被 3 整除的正整数之和.例如:fun(8)= 396.0121852答案:#include #include #include #include #define M 50double fun(int n) double y = 0.0;int i,j;j=0;for(i=1;i+)/*/ if(i10) /*/ /* y+=1.0/i;*/j+;if(j=n) break
3、;return y;void main() clrscr();printf(“fun(8) = %8.3lfn“, fun(8);4. 从键盘上输入两个整数,及一个运算符进行运算程序 cmody031.C 的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%) ,进行程序相应的运算后输出运算的结果。如输入:1+2将输出:1+2=3答案:#include #include void main() int m,n,result,flag=0;/*/ char ch, /*/ /* char ch;*/clrscr();printf(“Input an expression: “);sc
4、anf(“%d%c%d“,/*/ switch ch /*/ /* switch (ch)*/ case +: result=m+n; break;case -: result=m-n; break;case *: result=m*n; break;case %: result=m%n; break;case /: result=m/n; break;default: printf(“Error!n“); flag=1; if (!flag) printf(“%d %c %d = %dn“,m,ch,n,result);getch();5. 输出 201300 之间的所有素数,统计总个数程序
5、 cmody032.C 的功能是:输出 201300 之间的所有素数,统计总个数。答案:#include #include void main() int num;printf(“n“);num=fun();printf(“nThe total of prime is %d“,num);getch();int fun() int m,i,k,n=0;for(m=201; mk)*/ printf(“%-4d“,m);n+;if(n%10=0) printf(“n“);return n;6. 统计输入字符串中大写类英文字母的个数程序 cmody051.c,其功能是统计输入字符串中大写类英文字母的
6、个数。如输入:abcDEFGH123,输出:5答案:#include #include main()/*/ char str1 /*/; /* char str1255*/int i,len, sum=0; printf(“Please input a string:n“);scanf(“%s“, str1); len = strlen(str1);for(i=0; i= A printf(“Please input 5 numbers:n“);for(i=0; ivoid main()/*/ int i;j; /*/ /* int i,j;*/for (i=1;i#include /*/in
7、t fun();/*/ /* int fun()*/ int hen,cock,chicken,n=0;for(cock=0;cockhen:%d,cock:%d,chicken:%dn“,n,hen,cock,chicken);if(n=20) getch();return n;void main() int num;num=fun();printf(“n There are %d solutions.n“,num);getch();10、输入字符串08的数字字符变成比它大 1 的数字字符将9变为0程序 cmody061.c 功能输入字符串08的数字字符变成比它大 1 的数字字符将9变为0。
8、如输入:a b 1 2 c d 5 6 E F 8 9 G H 4a b 2 3 c d 6 7 E F 9 0 G H 5答案:#include #include main()char str1128, str2128;int i,len; gets(str1);len = strlen(str1);/*/ for(i=0; ilen; i+) /*/ /* for(i=0; i= 0 char * ps1=s1,*ps2;/*/ ps2 = NULL; /*/ /* ps2 = s2;*/*/ while(*ps1 = NULL) /*/ /* while(*ps1 != 0)*/ps1+
9、;while(*ps2) *(ps1+) = *(ps2+);printf(“%sn“,s1);getch();12、取出 ASCII 码值为偶数且下标为偶数的字符程序 cmody011.c 的功能是:从字符串数组 str1 中取出 ASCII 码值为偶数且下标为偶数的字符依次存放到字符串中。eg:若 str1 所指的字符串为:4AZ18C?Ge9a0z!则 t 所指的字符串为:4ZBZ答案:#include #include #include #include void main() char str1100, t200;int i, j;/*/ i = 0; /*/ /* j = 0;*/
10、clrscr();strcpy(str1, “4AZ18c?Ge9a0z!“);for (i = 0; i#include void main()float a3,s,area;int i;printf(“Please input 3 numbers:n“);for(i=0; ia2 | a1+a2a0 | a0+a2a1 ) /*/ /*if( (a0+a1)a2|(a1+a2)a0 | (a0+a2)a1 )*/s = (a0+a1+a2)/2;area = sqrt(s*(s-a0)*(s-a1)*(s-a2);printf(“area is %.2fn“,area);elseprint
11、f(“error.n“);getch();14. 百马百担问题程序 Cmody072.c,其功能是求解百马百担问题.有 100 匹马,驮 100 担货,大马驮 3 担,中马驮 2 担,小马驮 1 担,问大,中,小马数可分别为多少?有多少种解决方案?答案:#include #include /*/ void fun() /*/ /*int fun()*/int large,middle,small,n=0;clrscr();for( large=0;largelarge:%d,middle:%d,small:%dn“,n,large,middle,small);return n;void mai
12、n()int num;num = fun();printf(“n There are %d solutions.n“,num);getch();15. 求一堆零件的总数(100 至 200 之间)程序 cmody081.c,其功能是求一堆零件的总数(100 至 200 之间)如果分成 4 个零件一组的若干组,则多 2 个零件;若分成 7 个零件一组,则多 3 个零件;若分成 9 个零件,则多 5 个零件。答案:#include void main()int i;/*/ for( i=100; i/*/ void swap(int p1,int p2) /*/ /* void swap(int
13、*p1,int *p2)*/int temp;temp = *p1;/*/ p1 = p2; /*/ /* *p1 = *p2; */*p2 = temp;void main()int a,b;printf(“please input 2 numbers:n“);scanf(“%d%d“,printf(“nOriginal: a=%d b=%dn“,a,b);swap(printf(“nResult: a=%d b=%dn“,a,b);getch();17. 计算 1 至 100 之间的奇数之和,偶数之和程序 cmody091.c,其功能是计算 1 至 100 之间的奇数之和,偶数之和答案:#
14、include void main()int b,i;/*/ int a=c=0; /*/ /* int a=0,c=0;*/*/ for( i=0,ivoid main()int x,y,z,i,result=520;for( x=1;x10;x+ )for( y=1;y10;y+ )/*/ for( z=1;z10;z+ ) /*/ /* for( z=0;z10;z+ )*/i=100*x+10*y+z+100*y+10*z+z;/*/ if (i=result) /*/ /* if (i=result)*/printf(“x=%d,y=%d,z=%dn“,x,y,z);getch();