------------------------------------------------------*/
#include
/**********FOUND**********/
int i,sum=1; // int i,sum=0; /**********FOUND**********/
for(i=2;i<=100;i+=1) // for(i=2;i<=100;i+=2) sum+=i;
/**********FOUND**********/
printf(\ // printf(\ }
第20题 (10.0分) 题号:410 难度:易 第2章 /*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:输入一行字符,分别统计出其中英文字母、空格、数字和 其它字符的个数。
------------------------------------------------------*/
#include
char c;
int letters=0,space=0,digit=0,others=0; printf(\ /**********FOUND**********/
while((c=getchar())=='\\n') // while((c=getchar())!='\\n') {
/**********FOUND**********/
if(c>='a'&&c<='z'&&c>='A'&&c<='Z') // if( c>='a'&&c<='z' || c>='A'&&c<='Z' ) letters++;
/**********FOUND**********/
else if(c=!' ') // else if(c==' ') space++;
else if(c>='0'&&c<='9') digit++; else others++; }
printf(\ space,digit,others); }
第21题 (10.0分) 题号:400 难度:中 第2章 /*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:编写函数fun求20以内所有5的倍数之积。
------------------------------------------------------*/
#define N 20 #include
int fun(int m) {
/**********FOUND**********/
int s=0,i; //int s=1 , i ; for(i=1;i /**********FOUND**********/ if(i%m=0) //if(i%m==0) /**********FOUND**********/ s=*i; //s=s*i; 或s*=i; return s; } main() { int sum; sum=fun(5); printf(\以内所有%d的倍数之积为: %d\\n\} 第22题 (10.0分) 题号:253 难度:易 第1章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:以下程序把两个数按由大到小的顺序输出来. ------------------------------------------------------*/ #include /***********FOUND***********/ swap( int *p1,*p2) //swap( int *p1,int *p2) { int p; p=*p1; *p1=*p2; *p2=p; } main( ) { int a,b, *p,*q; printf(\ /***********FOUND***********/ scanf(\//scanf(\ p=&a; q=&b; if(a printf(\ /***********FOUND***********/ printf(\// printf(\ //或printf(\ } 第23题 (10.0分) 题号:434 难度:中 第2章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:以下程序能求出1*1+2*2+......+n*n<=1000中满足条件的 最大的n。 ------------------------------------------------------*/ #include int n,s; /**********FOUND**********/ s==n=0; // s=n=0; /**********FOUND**********/ while(s>1000) // while(s<=1000) { ++n; s+=n*n; } /**********FOUND**********/ printf(\// printf(\ } 第24题 (10.0分) 题号:420 难度:难 第2章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:打印出杨辉三角形(要求打印出10行). ------------------------------------------------------*/ #include int i,j; int a[10][10]; printf(\ /**********FOUND**********/ for(i=1;i<10;i++) // for(i=0;i<10;i++) { a[i][0]=1; a[i][i]=1; } /**********FOUND**********/ for(i=1;i<10;i++) // for(i=2;i<10;i++) for(j=1;j /**********FOUND**********/ a[i][i]=a[i-1][j-1]+a[i-1][j]; // a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) { for(j=0;j<=i;j++) printf(\ printf(\ } } 第25题 (10.0分) 题号:13 难度:中 第1章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:求1到20的阶乘的和。 ------------------------------------------------------*/ #include int n,j; float s=0.0,t=1.0; for(n=1;n<=20;n++) { /**********FOUND**********/ s=1; // t=1; for(j=1;j<=n;j++) /**********FOUND**********/ t=t*n; // t= t * j ; /**********FOUND**********/ s+t=s; // s= s + t ; 或s+=t; } /**********FOUND**********/ printf(\ // printf(\ } main() { fun(); } 第26题 (10.0分) 题号:406 难度:中 第2章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:有1、2、3、4个数字,能组成多少个互不相同且无重复数 字的三位数?都是多少? ------------------------------------------------------*/ #include int i,j,k; /**********FOUND**********/ printf(\ // printf(\ /**********FOUND**********/ for(i=1;i<=5;i++) // for(i=1;i<5;i++) for(j=1;j<5;j++) for (k=1;k<5;k++) { /**********FOUND**********/