第二部分:改错题(每题10分)
第一套卷:
cmody011.c
#include
#include
#include
#include
void main()
{ char str1[100], t[200];
int i, j;
/**/ i = 0; /**/ j=0
clrscr();
strcpy(str1, "4AZ18c?Ge9a0z!");
for (i = 0; i { /**/ if ((str1[i] %2== 0) && (i%2!=0)) /**/ if ((str1[i] %2== 0) && (i%2==0)) { t[j] = str1[i]; j++; } } t[j] = '\0'; printf("\n Original string: %s\n", str1); printf("\n Result string: %s\n", t); } ************************************************************************* cmody012.c #include #include #include #include #define M 50 double fun(int n) { double y = 0.0; int i,j; j=0; for(i=1;;i++) { /**/ if((i<10)&&(i%3==0)) /**/if((i>10)&&(i%3==0))(根据题义) { /**/ y+=1/i; /**/ y+=1.0/i; j++; } if(j==n) break; } return y; } void main() { clrscr(); printf("fun(8) = %8.3lf\n", fun(8)); } ************************************************************************* 第二套卷 ************************************************************************* cmody021.c #include void main() { /**/ int i; j; /**/ int i, j;(概念错误) for (i=1;i<=5;i++) { for (j=1;j<=10-2*i;j++) printf(" "); /**/ for (j=1;j<=5;j++) /**/ for (j=1;j<=2*i-1;j++) *号的位置printf("* "); printf("\n"); } } cmody022.c #include #include /**/int fun();/**/ int fun()(概念错误) { int hen,cock,chicken,n=0; clrscr(); for(cock=0;cock<=50;cock+=1) for(hen=0;hen<=100;hen=hen+1) { chicken=2*(100-hen-2*cock); /**/ if(cock+hen+chicken=100) /**/if(cock+hen+chicken==100) if后面关系表达式{ n++; printf("%d-->hen:%d,cock:%d,chicken:%d\n",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(); } 第三套卷 **************************************************************************** cmody031.c #include #include void main() { int m,n,result,flag=0; /**/ char ch, /**/ char ch;(概念错误) clrscr(); printf("Input an expression: "); scanf("%d%c%d",&m,&ch,&n); /**/ 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 = %d\n",m,ch,n,result); getch(); } **************************************************************************** cmody032.c #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; m<=300;m+=2) { k=sqrt(m+1); for(i=2;i<=k;i++) /**/ if(m/i==0) /**/ if(m%i==0) break; /**/ if(i==k) /**/ if(i>=k) { printf("%-4d",m); n++;; if(n%10==0) printf("\n"); } } return n; } 模拟卷 **************************************************************************** evsum.c #include void main() { /**/ int sum=1,i; /**/ int sum=0,i for(i=100; i>1; i--) /**/ if(i%2=0) sum+=i; /**/ if(i%2==0) sum+=i; printf("%d\n",sum); } *************************************************************************** dafsum.c #include void main() { int i,a,b,c; /**/ for(i=100;i=999;i++) /**/ for(i=100;i<=999;i++) { a=i/100; /**/ b=i%10/10; /**/ b=i/10%10; c=i%10; /**/ if i==a*a*a+b*b*b+c*c*c /**/ if(i==a*a*a+b*b*b+c*c*c) printf("%5d",i); } } ****************************************************************************第三部分:填空题(每题10分) 第一套卷 *************************************************************************** ccon011.c #include #include void main() { int x; /**/ float f ; /**/ printf("Input an integer: "); scanf("%d",&x); f = /**/(fabs(x)-2)/(x*x+1) /**/ ; printf("F(x)=%f\n",f); } ************************************************************************** ccon012.c #include void main() { double pi=0; long i, sign=1; for(i=1;i<=10001;i+=2) { pi+=1.0*sign/i; sign=/**/ -sign; /**/; 题义中是正负交替的 } pi*=/**/ 4 /**/; 前面一个系数 printf("%f\n",pi); } *************************************************************************** ccon013.c #include #include void find_max_min(int *p,int n) { int *q; max=min=*p; for(q=p; q**/ p+num /**/; q++) 指针从p开始,向下移动,直到结束p+num if(/**/ max<*q /**/ ) max=*q; 从下列语句可以推出该式子 else if(min>*q) min=*q; } void main() { int i,num[10]; printf("Input 10 numbers: "); for(i=0;i<10;i++) scanf("%d",&num[i]); find_max_min(/**/ num /**/,10); 将主函数中的数组值[指针]传递给子函数printf("max=%d,num=%d\n",max,min); } 第二套卷 *************************************************************************** ccon021.c #include void main() { int a,b,k; int plu = /**/ 403 /**/;根据题义 for(a=1; a<10; a++) for(b=1; b<10; b++) { k = (a*10+b) * /**/(b*10+a ) /**/ ; 根据题义表达式 if(k==plu) printf("A = %d, B = %d\n",a,b); } } *************************************************************************** ccon022.c #include void main() { int n,a,b; /**/ /**/ scanf("%d",&n); while(/**/ n /**/) { if(n>0) a++; else /**/ b++; /**/ scanf("%d",&n); } printf("Positive integer: %d, negative integer: %d\n",a,b); } *************************************************************************** ccon023.c #include #include int prime(int n) { int k,flag=1; for(k=2; k<=n/2+1; k++) if (n%k==0) { flag=/**/ 0 /**/ ; break;} return flag; } void main() { int num, a; clrscr(); do { printf("Please input an even number:"); scanf("%d", &num); }while(num<=6||num%2==1); for(a=2;a<=num/2+1;a++) if(prime(a) && prime(/**/( num-a) /**/)) printf("\n %d = %d + %d ", num, a, num-a); } 第三套卷 **************************************************************************** ccon031.c #include #include /**/ main() /**/ { float x,x0,f,f1; x=1.5; do { x0=x; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x=x0-f/f1; }/**/ while /**/(fabs(x-x0)>=1e-6); printf("the root is: %.2f\n",x); } **************************************************************************** ccon032.c #include void main() { char s[80]; int i; printf("Please input a string: "); for(i=0;((s[i]=getchar())!='\n')&&(i<80);i++); s[i]='\0'; for(i=0;s[i]!='\0';/**/ i++ /**/) { if(s[i]>='a'&&s[i]<='z') s[i]=s[i]-32; else if(/**/ s[i]>='A'&&s[i]<='Z' /**/) s[i]=s[i]+32; printf("%c",s[i]); } } **************************************************************************** ccon033.c #include float average(int *pa,int n) { int k; /**/ float avg=0; /**/ for(k=0;k avg = avg+/**/ pa/**/; avg = avg/n; return avg; } void main() { int a[5]={20,30,45,64,23}; float m; m=average(/**/ a /**/, 5); printf("A verage=%f\n",m); } 模拟卷 ***************************************************************************** calfun.c #include #include void main() { int x; /**/ float f; /**/ printf("Input an integer: "); scanf("%d",&x); f = /**/ (abs(x)-2.0)/(x*x+1.0) /**/ ; printf("F(x)=%f\n",f); getch(); } ******************************************************************************* intsum.c #include void main() { int n,a,b; /**/ a=0; b=0; /**/ scanf("%d",&n); while(/**/n /**/) { if(n%2==0) a+=n; /**/ else b+=n /**/ scanf("%d",&n); } printf("Sum of even number: %d, Sum of odd number: %d\n",a,b); } ******************************************************************************* fac.c #include void main() { int n,i; double s,fac; /**/ s=0; fac=1; /**/ scanf("%d",&n); for(i=1;i<=n;i++) { fac=/**/ fac/i /**/; s=s+fac; } printf("%f\n",s); } ******************************************************************************* 第四部分:编程题(每题10分) 第一套卷 ************************************************************************** cprog011.c #include #include double fun1(double x) { /**/ /**/ } void main() { clrscr(); printf("fun1(0.76) = %8.3lf\n", fun1(0.76)); printf("fun1(3.00) = %8.3lf\n", fun1(3.00)); printf("fun1(3.76) = %8.3lf\n", fun1(3.76)); } ************************************************************************** cprog012.c #include #include #include #include int fun2(int a[],int n,int b[],int c[]) { /**/ /**/ } void main() { int n = 10, i, nb; int aa[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20}; int bb[10], cc[10]; clrscr(); printf("There are %2d elements in aa.\n", n); printf("They are: ");