福建省计算机二级C语言上机题解析.doc_第1页
福建省计算机二级C语言上机题解析.doc_第2页
福建省计算机二级C语言上机题解析.doc_第3页
福建省计算机二级C语言上机题解析.doc_第4页
福建省计算机二级C语言上机题解析.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言上机题解析第一部分:程序修改题#include #include #include #include void main() char str1100, t200; int i, j; /*/ i = 0; /*/改成j = 0; clrscr(); strcpy(str1, 4AZ18c?Ge9a0z!); for (i = 0; istrlen(str1); i+) /*/ if (str1i %2= 0) & (i%2!=0) /*/改成i%2 =0 tj = str1i; j+; tj = 0; printf(n Original string: %sn, str1); printf(n Result string: %sn, t);#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/i; /*/改成y+=1.0/i; j+; if(j=n) break; return y;void main() clrscr(); printf(fun(8) = %8.3lfn, fun(8);#include void main() /*/ int i,j;/*/改成int i,j,k; for(i=1;i=6;i+) for(k=1;k=10+i;k+) printf( ); for(j=1;j=7-i;j+) printf(*)/*/ : /*/改成; printf(n); getch();#include #include /*/int fun();/*/该处不是函数说明,应该去掉分号 int hen,cock,chicken,n=0; clrscr(); for(cock=0;cock=50;cock+=1) for(hen=0;henhen:%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();#include #include void main() int m,n,result,flag=0; /*/ 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 = %dn,m,ch,n,result); getch();#include #include void main() char s20=table left 100,t20; /*/ char tab4,2=a,f,b,e,e,a,f,b; /*/数组定义形式错误,改成char tab42 int i,j=0; strcpy(t,s); while(tj) for(i=0;i=3;i+) if(tj=tabi0) /*/ tj=tabi2; /*/改成tj=tabi1; break; j+; printf(nThe source string: %sn,s); printf(nThe target string: %sn,t); getch();#include #include main() char str1128; /*/ int i,len; sum=0; /*/基本语法错误,改成int i,len, sum=0; printf(nPlease input the string: ); gets(str1); len = strlen(str1); for(i=0; i= 0 | str1i = 9) /*/逻辑错误,|改成& sum+; printf(%dn,sum); getch();#include #include #define M 8main() int aM,i; printf(Please input 8 numbers:n); for(i=0; iM; i+) scanf(%d, /*/ ai /*/);输入列表项必须指定地址,改成&ai printf(Inverse order is: n);/*/ for(i=M-1; i=0 printf(%d , ai); printf(n ); getch();#include #include main() /*/ char str1 /*/;此处必须定义成字符数组,改成char str150 int i,len, sum=0; printf(Please input a string:n); scanf(%s, str1); len = strlen(str1); for(i=0; i= A & str1i = Z) /*/ sum-; /*/ 改成sum+; printf(%dn,sum); getch();#include #include /*/ #include M 5 /*/宏定义错误,改成#define M 5main() int aM,i; printf(Please input 5 numbers:n); for(i=0; iM; i+) scanf(%d, &ai); printf(Even numbers:n ); for(i=0; iM; i+)/*/ if( ai/2 =0) /*/判断偶数应该改成ai%2 =0 printf(%d , ai); printf(n ); getch();#include #include main() char str1128, str2128; int i,len; gets(str1); len = strlen(str1);/*/ for(i=0; ilen; i+) /*/循环条件表示错误,改成for(i=0; i= 0 & str1i = 8) str2i = str1i + 1; else if(str1i = 9) str2i = 0; else str2i = str1i; /*/ str2i = n; /*/字符串的结束标识应该用0表示 puts(str2); getch();#include #include void main() char s130=Peoples Republic of , s2=China; char * ps1,*ps2; /*/ ps1 = NULL; /*/指针ps1指向字符串s1,改成ps1 = s1; ps2=s2; /*/ while(*ps1 = NULL) /*/判断是否到达串尾标识,应改成*ps1!=0 ps1+; while(*ps2) *(ps1+) = *(ps2+); printf(n%sn,s1); getch();#include #include void main() float a3,s,area; int i; printf(Please input 3 numbers:n); for(i=0; ia2 | a1+a2a0 | a0+a2a1 ) /*/逻辑条件标识错误,|改成& s = (a0+a1+a2)/2; area = sqrt(s*(s-a0)*(s-a1)*(s-a2); printf(area is %.2fn,area); else printf(error.n); getch();#include #include /*/ void fun() /*/此处说明函数有返回值,改成int fun() int large,middle,small,n=0; clrscr(); for( large=0;large=33;large+ ) for( middle=0;middlelarge:%d,middle:%d,small:%dn,n,large,middle,small); return n;void main() int num; num = fun(); printf(n There are %d solutions.n,num); getch();#include void main() int i; /*/ for( i=100; i200; i+ ); /*/for语句错误,此处去掉分号 if(i-2)%4 = 0) if( !(i-3)%7) ) if( i%9 = 5 ) printf(%dn,/*/ &i /*/); 去掉地址符号& getch();#include /*/ void swap(int p1,int p2) /*/改成void swap(int *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,&a,&b); printf(nOriginal: a=%d b=%dn,a,b); swap(&a,&b); printf(nResult: a=%d b=%dn,a,b); getch();#include void main() int b,i;/*/ int a=c=0; /*/基本语法错误,改成int a=0,c=0;/*/ for( i=0,i=100,i+=2 ) /*/for语句语法错误,改成for( i=0;i=100;i+=2 ) a+=i; b=i+1; c+=b; printf(total of even numbers: %dn,a); printf(total of odd numbers: %dn,c-101); getch();#include void main() int x,y,z,i,result=520; for( x=1;x10;x+ ) for( y=1;y10;y+ ) /*/ for( z=1;z10;z+ ) /*/z初值应为0,改成for( z=0;z10;z+ ) i=100*x+10*y+z+100*y+10*z+z; /*/ if (i=result) /*/逻辑关系等于应该为i=result printf(x=%d,y=%d,z=%dn,x,y,z); getch();#include #define F(x) (x*x-2.3*x+5.6)/(x+8.2)void main() float a=6.0,b=3.0,c; /*/ int s; /*/变量类型错误,改成float s; printf(nPlease input c: ); scanf(%f,/*/ c /*/);输入列表项必须加地址&c /*/ s=F(a,b,c); /*/ printf(ns=%.2fn,s); getch();#include void main() int f,s,t,n; printf(nThe list is:n); for(n=100;n1000;n+) f=n%10;f为个位数 s=(n%100)/10; s为十位数 /*/t=n%100; /*/t为百位数,应改成t=n/100; /*/if(t*t*t+s*s*s+f*f*f=n)/*/应改成 printf(%d ,n); printf(n); getch();第二部分:程序填空题#include void main() /*/ long /*/ p; int i; p=1; /*/ for /*/(i=1;i=8;i+) p=p*i; printf(np=%ld, p); getch();#include void main() int a,b,c; float f; clrscr(); printf(Please input a b :); scanf(%d%d,&a,&b); f=/*/1.0*a/b /*/; c=/*/ (int) /*/ (f*100)%10; printf(n a/b=%f The second decimal place is: %dn,f,c); getch();#include #include int max,min;void find_max_min(int *p,int n) int *q; max=min=*p; for(q=p; q/*/ p+n /*/; q+) if(/*/ max*q) min=*q;void main() int i,num10; printf(Input 10 numbers: ); for(i=0;i10;i+) scanf(%d,&numi); find_max_min(/*/ num /*/,10); printf(max=%d,num=%dn,max,min);#include void main() int a,b,k; int plu = /*/ 403 /*/; for(a=1; a10; a+) for(b=1; b10; b+) k = (a*10+b) * /*/ (b*10+a) /*/ ; if(k=plu) printf(A = %d, B = %dn,a,b); #include void main() int n,a,b; /*/ a=0; b=0; /*/ scanf(%d,&n); while(/*/ n!=0 /*/) if(n0) a+; else /*/ b+; /*/ scanf(%d,&n); printf(Positive integer: %d, negative integer: %dn,a,b);#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);#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: %.2fn,x);#include main() /*/ char /*/ str20; int i; float x; printf(Please input a string:n); scanf(%s,/*/ str /*/ ); i=0; while(stri) stri=/*/ stri15; /*/ i+; printf(n Target string: %sn, str); getch();#include main( ) int a5=20,30,45,64,23; float m; /*/ float average(int pa,int n); /*/ m=average(a, 5 ); printf(Average=%fn,m); getch();float average(int pa ,int n) int k; float avg=0.0; for(k=0;kn;k+) avg=avg+/*/ pak /*/; avg= avg/n; return avg;#include main() /*/ char /*/ s80; int i; printf(Please input a string:); for(i=0;(si=getchar()!=n;i+); si=0; for(i=0;si!=0;i+) if(si=a&si=A&si=Z ) si=si+32; printf(%c,si); getch();#include #include void sort(int a, int m) int i, j, t,swap; for( i=0; i /*/ m-1 /*/ ; i+ ) swap = 0; for( j=0; j m-i-1; j+) if /*/ (ajaj+1) /*/ swap = 1; t = aj; aj = /*/ aj+1 /*/; aj+1 = t; if(!swap) break; void main() int a = 23,55,8,32,18,2,9; int i,k = sizeof(a)/sizeof(int); sort(a,k); for(i=0;ik;i+) printf(%d ,ai); printf(n); getch();#include #include int fun(/*/ float a,float b,float c /*/) float temp; int bTrue = 0; if(ab) temp = a; a = b; b = temp; if(ac) temp = a; a = c; c = temp; if( fabs(/*/ a*a /*/ - (b*b + c*c) 1.0e-15) bTrue = 1; return bTrue;main() float a,b,c; printf(Please input three numbers:n); scanf(%f%f%f,&a,&b,&c); if( fun(a,b,c) = 1) printf(Yesn); else printf(Non); getch();#include main() int x; printf(Please input a number:n); scanf(%d,/*/ &x /*/); printf(%d*%d=%dn, x,x,/*/ x*x /*/); getch(); #include #include void sort(int a, int m) int i, j, k, t; for( i = 0; i m-1; i+ ) k = i; for( j=i+1; j /*/ m /*/; j+) if( aj ak ) /*/ k=j /*/; if( k != i ) t = ak; ak= ai; ai = /*/ t /*/; void main() int a = 72,25,58,32,2,15,7,64; int i,m = sizeof(a)/sizeof(int); sort(a,m); for(i=0;im;i+) printf(%d ,ai); printf(n); getch();#include main() float a,b,c,max; /*/float fmax(float x,float y,float z); /*/ printf(Please input 3 integer:n); scanf(%f%f%f,&a,&b,&c); max=fmax(a,b,c); printf(The max number is:%.2fn, max); getch();float fmax(float x,float y,float z) float m,n; n=(yz)?y:z; m=/*/ (xn)?x:n; /*/ return(m);#include #include main() int i,/*/ j /*/; int a44,sum; sum=/*/0 /*/; printf(Please input 16 numbers:n); for(i=0; i4;i+) for(j=0;j4;j+) scanf(%d,&aij); for(i=0;i4;i+) /*/ sum+=ai0; /*/ printf(%dn,sum); getch();#include int fun(int a,int n,/*/int q /*/) int left,right,mid; left= 0 ; right = n-1; while(left = right) mid= /*/(left+right)/2 /*/; if( q amid) left = mid+1; else return mid; return -1;main() int a=3,4,6,11,17,22,31,45; int k,n; n = sizeof(a)/sizeof(int); k = fun(a,n,31); printf(%dn,k); getch();#include #include int fun(/*/float r /*/,float x,float y) int bIn; bIn = /*/sqrt(x*x+y*y) /*/ r ; return bIn;main() float r=-1,x,y; int bIn; while(r0):n); scanf(%f, &r); printf(Please input the dot(x,y):n); scanf(%f%f,&x,&y); bIn = fun(r,x,y); if(bIn = 1) printf(in the circle!n); else printf(out of the Circle!n); getch();#include/*/#include /*/double fun(double x) /*/return x*x-2*x+6; /*/void main() double x,y1,y2; clrscr(); printf(Please input x:); scanf(%lf,&x); y1=fun(x+8); y2=fun(/*/sin(x) /*/); printf(nf(x+8)=%.3lf,y1); printf(nf(sinx)=%.3lf,y2); getch();#includedouble fun(unsigned m,unsigned n) unsigned i; double p=1.0; for(i=1;i=m;i+) /*/p=p*i; /*/ for(i=1;i=n;i+) /*/p=p/i; /*/ for(i=1;i=m-n;i+) p=p/i; return p;void main() clrscr(); printf(p=%fn,fun(13,7); getch();#includeint findmax(int* array,int size);void main() int a=33,91,23,45,56,-12,32,12,5,90; clrscr(); printf(The max is %dn,/*/findmax(a,10) /*/); getch();int findmax(int *array,int size) int i, /*/max=*array /*/; for(i=1; imax) max=arrayi; return max;#includeunsigned sum(unsigned n) unsigned i,/*/sum=0;/*/ for(i=1;i=n;i+) sum+=i; /*/return sum;/*/void main() int m; clrscr(); printf(Please input a unsigned integer:); scanf(%d,&m); while(m0) printf(Please input a unsigned integer:); scanf(%d,&m); printf(nThe sum is %dn,/*/sum(m)/*/); getch();#include#includevoid main() int i,j; char str=1234567, /*/ k /*/; for(i=0,/*/j=strlen(str)-1 /*/;ij;i+,j-) k=stri; stri=strj; strj=k; clrscr(); printf(%sn,str); getch();#include#includetypedef struct int num; char name20,sex2; int age,score; STU;STU mystudent= 1111,Zhangqiang,m,20,80, 2104,Liminghong,w,18,82, 3121,Wangxingda,m,21,78, 4118,Liushaotao,m,20,90, 1456,Wuminghong,w,35,86 ;void sort(STU* ps, int size) int i,flag,pass; /*/ STU temp; /*/ for(pass=1;passsize;pass+) flag=0; for(i=0;ipsi+1.num /*/) flag+=1; temp=psi;psi=psi+1;psi+1=temp; if(/*/flagsize /*/) break; void main() int i,size=sizeof(mystudent)/sizeof(STU); clrscr(); printf(Students information before sort:nn); printf(Number Name age Sex scorenn); for(i=0;inum, (mystudent+i)-name,(mystudent+i)-age, (mystudent+i)-sex, (mystudent+i)-score); sort(mystudent,size); printf(nStudents information after sort:nn); printf(Number Name age Sex scorenn); for(i=0;inum, (mystudent+i)-name,(mystudent+i)-age, (mystudent+i)-sex,(mystudent+i)-score); getch();#includestdio.h#define ROW 3#define COL 3void main() int aROWCOL,i,j,max,min; clrscr(); printf(Please input the 9 integers:n); for(i=0;iROW;i+) for(j=0;jCOL;j+) scanf(%d,&aij); /*/max=min=a00; /*/ for(i=0;iROW;i+) for(j=0;jmax /*/) max=aij; if(aijmin) /*/min=aij;/*/ printf(max=%dn,max); printf(min=%dn,min); getch();#define N 5#includevoid main() int t=0,/*/s=0/*/,i; for(i=1;i=N;i+) t=/*/t*10+i /*/; s+=t; clrscr(); pr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论