C语言上机编程题(完整版).doc_第1页
C语言上机编程题(完整版).doc_第2页
C语言上机编程题(完整版).doc_第3页
C语言上机编程题(完整版).doc_第4页
C语言上机编程题(完整版).doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

include #include void main() int a10=1,4,2,7,3,12,5,34,5,9,i,max,pos; /clrscr(); max = a0; pos = 0; for ( i=1; i10; i+) /*found*/ if (max ai) max = ai; /*found*/ pos = i; printf(The max is: %d ,pos is: %d , max , pos); 两个位置全部正确 标准答案 第一个位置:if(maxif(maxmax)if(ai=max)第二个位置:pos=i; 二、 程序填空题(30分,得分:30分) 在考生文件夹下,给定程序FILL.C的功能是: 从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。 例如:从键盘上输入12345,则程序运行的结果应当为:n=12345。请填空,并运行该程序,然后将源程序文件FILL.C提交。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#include stdio.h#include string.h void main() char s10; int i; long int n; /clrscr(); /*found*/ n=0; scanf(%s,s); for(i=0;istrlen(s);i+) /*found*/ n=n*10+(si-48); printf(n=%ld ,n); 两个位置全部正确 标准答案 第一个位置:n=0; 第二个位置:n=n*10+si-0;n=n*10+*(s+i)-0;n=n*10+*(i+s)-0;n=n*10-0+si;n=n*10-0+*(s+i);n=n*10-0+*(i+s);n=n*10+(si-0);n=n*10+(*(s+i)-0);n=n*10+(*(i+s)-0);n=n*10+(si-48);n=n*10+(*(s+i)-48);n=n*10+(*(i+s)-48);n=n*10-(0-*(i+s);n=n*10-(0-si);n=n*10-(0-*(s+i);n=n*10+si-48;n=n*10+*(s+i)-48;n=n*10+*(i+s)-48;n=n*10-48+si;n=n*10-48+*(s+i);三、 程序设计题(40分,得分:40分) 在考生文件夹下,要求程序PROG.C的功能是: 将一个4位的整数m拆开,然后按相反顺序输出,每输出一位数其后留2个空格。例如,如果m=1234,则程序的输出结果应为:m=1234,4 3 2 1。 部分源程序存在文件PROG.C中。 请在main( )函数中的/*begin*/ 与 /*end*/之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。 注意:main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。运行并调试程序,然后将源程序文件PROG.C提交。 特别提示:必须将计算结果存入变量sum中。 做题情况 源程序文件#include stdio.h #include math.h #include conio.h #include stdlib.h void main() int m=1234,a,b,c,d; /*begin*/ a=m%1230; b=(m%100)/10; c=(m/100)%10;d=m/1000; /*end*/ printf(m=%d,%d %d %d %d ,m,a,b,c,d); NONO(m,a,b,c,d); NONO( x,a,b,c,d ) int x,a,b,c,d; FILE *f; f=fopen(D:exam11200112PROGOUT.DAT,w); fprintf(f,x=%d: %3d%3d%3d%3d# ,x,a,b,c,d); fclose(f); 结果文件x=1234: 4 3 2 1#结果文件正确 标准答案 结果文件包含:x=1234:4321#辅助判分源文件包含:% 比例:20/10 比例:20/100 比例:10c= 比例:20 1 求二维数组a中的最大值。 例如,当二维数组a中的元素为: 4 4 34 7 3 12 5 6 5程序的输出应为:The max is: 34 。请修改并运行该程序,然后将源程序文件MODI.C提交。程序中有两处错误,错误都在提示行:/*found*/的下面一行,请考生注意。请改正程序中的错误,使它能得出正确的结果。注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#include #include void main() int a33=4,4,34,7,3,12,5,6,5,i,j,max; max = a00; for ( i=0; i3; i+) for ( j=0; j3; j+) /*found*/ if (max aij) /*found*/max =aij; printf(The max is: %d , max); 两个位置全部正确 标准答案 第一个位置:if(maxif(maxmax)if(aij=max)第二个位置:max=aij; 二、 程序填空题(30分,得分:30分) 在考生文件夹下,给定程序FILL.C的功能是: m!求 Cmn= 之值。 n! * (m-n)! 例如,当m=12,n=2时,程序的输出应为:Cmn is: 66 。请填空,并运行该程序,然后将源程序文件FILL.C提交。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#include #include #include long int fun(int x) long int s=1; int i; for (i=1;i=x;i+) s*=i; /*found*/ return s; void main() long int m=12,n=2,s1,s2,s3; /clrscr(); s1=fun(m); s2=fun(n); s3=fun(m-n); /*found*/ printf(Cmn is : %ld,s1/(s2*s3); 两个位置全部正确 标准答案 第一个位置:returns;return(s);第二个位置:printf(Cmnis:%ld,s1/s2/s3);printf(Cmnis:%ld,s1/s3/s2);printf(Cmnis:%ld,s1/(s2*s3);printf(Cmnis:%ld,s1/(s3*s2);printf(Cmnis:%ld,(s1/(s2*s3);printf(Cmnis:%ld,(s1/s3/s2);printf(Cmnis:%ld,(s1/(s3*s2);printf(Cmnis:%ld,(s1/s2/s3); 三、 程序设计题(40分,得分:20分) 在考生文件夹下,要求程序PROG.C的功能是:求3*3矩阵的最大值并输出。 例如,当矩阵为: 1 2 3 4 9 5 7 8 6 则最大值为:9 部分源程序存在文件PROG.C中。 请在fun( )函数中的/*begin*/ 与 /*end*/之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。 注意:main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。运行并调试程序,然后将源程序文件PROG.C提交。 做题情况 源程序文件#include #include int fun(int a33) /*begin*/ int i,j,max; for (i=1;i=3;i+) for (j=1;jmax)max=aij; /*end*/ void main() int a33=1,2,3,4,9,5,7,8,6; int i,j,max; / clrscr(); printf(array is: ); for(i=0;i3;i+) for(j=0;j3;j+) printf(%5d,aij); printf( ); max=fun(a); printf(Result is: %d ,max); NONO( ); NONO( ) FILE *fr,*fw; int i,j,k,m,a33; fr=fopen(D:exam11300117PROGIN.DAT,r); fw=fopen(D:exam11300117PROGOUT.DAT,w); for(i=1;i=5;i+) for(j=0;j3;j+) for(k=0;k3;k+) fscanf(fr,%d,&ajk); fprintf(fw,%4d,ajk); fprintf(fw,Max = %d ,fun(a); fclose(fr); fclose(fw); 结果文件 12 13 12 18 7 16 10 17 1Max = 4 15 19 2 8 3 5 1 6 1Max = 4 6 10 9 2 4 5 15 4 1Max = 4 1 16 7 2 18 14 8 6 6Max = 4 8 5 10 9 14 5 13 4 8Max = 4由于结果文件不正确,辅助判分。源代码中未含return或 标准答案 结果文件包含:1213121871610171Max=1815192835161Max=1961092451541Max=15116721814866Max=18851091451348Max=14辅助判分源文件包含:=a 比例:20for 比例:20if 比例:10return 比例:20 9 胡健 16:57:06#include #include void main() long s, t, sl=1; int d; /clrscr(); printf( Please enter s:); scanf(%ld, &s); t = 0; while ( s 0) d = s%10; /*found*/ if (d%2=0) t=d * sl + t; sl *= 10; /*found*/ s = s/10; printf(The result is: %ld , t); 两个位置全部正确 标准答案 第一个位置:if(d%2=0)if(!(d%2)if(0=d%2)if(!(d%2=1)if(!(1=d%2)if(0=(d%2)if(!(d%2)=1)if(!(1=(d%2)第二个位置:s/=10;s=s/10; 二、 程序填空题(30分,得分:15分) 在考生文件夹下,给定程序FILL.C的功能是:求两个正整数m,n之间所有既能被3整除也能被7整除的整数之和。例如:m=1,n=2000,则程序的输出结果应为:Sum is : 95760。请填空,并运行该程序,然后将源程序文件FILL.C提交。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#include #include #include main() int m,n,i,t; long int s=0; /clrscr(); scanf(%d,%d,&m,&n); if( mn ) t=m; m=n; n=t; /*found*/ for (i=m;i=n;i+) if ( i%3=0 & i%7=0 ) s += i; /*found*/ printf(Sum is :%d ,s ); 第二个位置错 标准答案 第一个位置:for(i=m;i=n;i+)for(i=m;i 第二个位置:printf(Sumis:%ld ,s);printf(Sumis:%6ld ,s); 三、 程序设计题(40分,得分:40分) 在考生目录下,要求程序PROG.C的功能是:求一个三位整数m的每位数之和,m的值由键盘输入。 例如,当m=256时,程序的输出结果应为:Result is: 13。 部分源程序存在文件PROG.C中。 请在fun( )函数中的/*begin*/ 与 /*end*/之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。 注意:main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。运行并调试程序,然后将源程序文件PROG.C提交。 做题情况 源程序文件#include #include int fun(int m) /*begin*/int m1,m2,m3,s;m1=m%10;m2=m/10%10;m3=m/100;s=m1+m2+m3;return s; /*end*/ void main() int m,s; /clrscr(); printf(Enter m : ); scanf(%d,&m); s=fun(m); printf(Result is: %d ,s); NONO( ); NONO( ) FILE *fr,*fw; int i,j,k,m; fr=fopen(D:exam11300121PROGIN.DAT,r); fw=fopen(D:exam11300121PROGOUT.DAT,w); for(i=1;i=5;i+) fscanf(fr,%d,&m); fprintf(fw,Sum = %d ,fun(m); fclose(fr); fclose(fw); 结果文件Sum = 8Sum = 18Sum = 8Sum = 14Sum = 10结果文件正确 标准答案 结果文件包含:Sum=8Sum=18Sum=8Sum=14Sum=10辅助判分源文件包含:%10 比例:20/10 比例:20/100 比例:10return 比例:20 8 胡健 16:57:29 例如,当二维数组a中的元素为: 4 4 34 7 3 12 5 6 5程序的输出应为:The max is: 34 。请修改并运行该程序,然后将源程序文件MODI.C提交。程序中有两处错误,错误都在提示行:/*found*/的下面一行,请考生注意。请改正程序中的错误,使它能得出正确的结果。注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#include #include void main() int a33=4,4,34,7,3,12,5,6,5,i,j,max; max = a00; for ( i=0; i3; i+) for ( j=0; j3; j+) /*found*/ if (max aij) /*found*/max = aij; printf(The max is: %d , max); 两个位置全部正确 标准答案 第一个位置:if(maxif(maxmax)if(aij=max)第二个位置:max=aij; 二、 程序填空题(30分,得分:15分) 在考生文件夹下,给定程序FILL.C的功能是:在第一个循环中从键盘上给a数组的前M(M100)个数组元素依次赋值;在第二个循环中使a数组前M个元素中的值对称折叠;在最后一个循环中输出折叠以后的a数组的前M个元素。例如:当M为5时,如果从键盘上输入的5个数分别为:1、2、3、4、5时,输出应为:1 2 3 2 1。当M为10时,如果从键盘上输入的10个数分别为: 1、2、3、4、5、6、7、8、9、10时,输出应为:1 2 3 4 5 5 4 3 2 1。请填空,并运行该程序,然后将源程序文件FILL.C提交。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#define M 5 void main( ) int i,a100,t; /clrscr(); for(i=0;iM;i+) /*found*/ ai=i /*found*/ for(i=0;i=2;i+) aM-i-1=ai; for(i=0;iM;i+) printf(%5d,ai); printf( ); 第一个位置错 标准答案 第一个位置:scanf(%d,&ai);scanf(%d,a+i);第二个位置:for(i=0;ifor(i=0;i=M/2-1;i+)for(i=0;i=(M-1)/2;i+)for(i=0;i5/2;i+)for(i=0;i=5/2-1;i+)for(i=0;i=(5-1)/2;i+)for(i=0;i=2;i+)for(i=0;i2;i+)for(i=0;i=1;i+)for(i=0;i=M/2;i+) 三、 程序设计题(40分,得分:40分) 在考生文件夹下,要求程序PROG.C的功能是:求两个整数m和n的最大公约数,将求出的最大公约数存入变量t中。部分源程序存在文件PROG.C中。 请在main( )函数中的/*begin*/ 与 /*end*/之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。 注意:main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。运行并调试程序,然后将源程序文件PROG.C提交。 特别提示:必须将结果存入变量t中。 做题情况 源程序文件#include stdio.h #include math.h #include conio.h #include stdlib.h void main() int m=76,n=40,t,i; /*begin*/i=2;if(m%i=0&n%i=0)i=i+2;t=i; /*end*/ printf(The Highest Common Divisor of %d and %d is %d ,m,n,t); NONO(m,n,t); NONO( int m,int n,int t) FILE *f; f=fopen(D:exam11300140PROGOUT.DAT,w); fprintf(f,Maximal Common Divisor Of %d and %d is %d ,m,n,t); fclose(f); 结果文件Maximal Common Divisor Of 76 and 40 is 4结果文件正确 标准答案 结果文件包含:MaximalCommonDivisorOf76and40is4辅助判分源文件包含:n% 比例:20m% 比例:20=0 比例:10& 比例:20 4 乱儛尐蓓 16:57:41#include #include sum ( int arr ,int n ) int i,s; s = 0; for ( i=0; in; i+) if (arri % 2 = 0) /*found*/ s = s + i; return (s); void main() int a10=10,4,2,7,3,12,5,34,5,9,i,s; /*found*/ s = sum( a ,2 ); printf(The result is: %d , s); 两个位置全部错误 标准答案 第一个位置:s=s+arri;s+=arri;s=arri+s; 第二个位置:s=sum(a,10); 二、 程序填空题(30分,得分:15分) 在考生文件夹下,给定程序FILL.C的功能是:求两个正整数m,n之间所有既能被3整除也能被7整除的整数之和。例如:m=1,n=2000,则程序的输出结果应为:Sum is : 95760。请填空,并运行该程序,然后将源程序文件FILL.C提交。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#include #include #include main() int m,n,i,t; long int s=0; /clrscr(); scanf(%d,%d,&m,&n); if( mn ) t=m; m=n; n=t; /*found*/ for (i=1;i2000;i+) if ( i%3=0 & i%7=0 ) s += i; /*found*/ printf(Sum is : %ld ,s ); 第一个位置错 标准答案 第一个位置:for(i=m;i=n;i+)for(i=m;i 第二个位置:printf(Sumis:%ld ,s);printf(Sumis:%6ld ,s); 三、 程序设计题(40分,得分:40分) 在考生文件夹下,要求程序PROG.C的功能是: 将一个4位的整数m拆开,然后按相反顺序输出,每输出一位数其后留2个空格。例如,如果m=1234,则程序的输出结果应为:m=1234,4 3 2 1。 部分源程序存在文件PROG.C中。 请在main( )函数中的/*begin*/ 与 /*end*/之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。 注意:main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。运行并调试程序,然后将源程序文件PROG.C提交。 特别提示:必须将计算结果存入变量sum中。 做题情况 源程序文件#include stdio.h #include math.h #include conio.h #include stdlib.h void main() int m=1234,a,b,c,d; /*begin*/ a=m%10;b=(m/10)%10;c=(m/100)%10;d=(m/1000)%10; /*end*/ printf(m=%d,%d %d %d %d ,m,a,b,c,d); NONO(m,a,b,c,d); NONO( x,a,b,c,d ) int x,a,b,c,d; FILE *f; f=fopen(D:exam11200127PROGOUT.DAT,w); fprintf(f,x=%d: %3d%3d%3d%3d# ,x,a,b,c,d); fclose(f); 结果文件x=1234: 4 3 2 1#结果文件正确 标准答案 结果文件包含:x=1234:4321#辅助判分源文件包含:% 比例:20/10 比例:20/100 比例:10c= 比例:20 2 #include #include void main() int a10=1,4,2,7,3,12,5,34,5,9,i,max,pos; /clrscr(); max = a0; pos = 0; for ( i=1; i10; i+) /*found*/ if (max ai) max = ai; /*found*/pos=i; printf(The max is: %d ,pos is: %d , max , pos); 两个位置全部正确 标准答案 第一个位置:if(maxif(maxmax)if(ai=max)第二个位置:pos=i; 二、 程序填空题(30分,得分:1分) 在考生文件夹下,给定程序FILL.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,的前20项的项值,要求每行输出5个数。请填空,并运行该程序,然后将源程序文件FILL.C提交。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#include void main() long int f20=1,1; int i; /clrscr(); /*found*/ f0=1;f1=1; for(i=2;i20;i+) fi=fi-1+fi-2; /*found*/ if(i-1)%5=1) printf( ); printf(%8ld,fi); printf( ); 两个位置全部错误 标准答案 第一个位置:printf(%8ld%8ld,f0,f1);printf(%8ld,f0);printf(%8ld,f1);printf(%ld%ld,f0,f1);printf(%ld,f0);printf(%ld,f1);第二个位置:if(i%5=0)if(i-i/5*5)=0) 三、 程序设计题(40分,得分:12分) 在考生文件夹下,要求程序PROG.C的功能是:求3*3矩阵的最大值并输出。 例如,当矩阵为: 1 2 3 4 9 5 7 8 6 则最大值为:9 部分源程序存在文件PROG.C中。 请在fun( )函数中的/*begin*/ 与 /*end*/之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。 注意:main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。运行并调试程序,然后将源程序文件PROG.C提交。 做题情况 源程序文件#include #include int fun(int a33) /*begin*/ int i,j,max; if (maxaij) max=aij; /*end*/ void main() int a33=1,2,3,4,9,5,7,8,6; int i,j,max; / clrscr(); printf(array is: ); for(i=0;i3;i+) for(j=0;j3;j+) printf(%5d,aij); printf( ); max=fun(a); printf(Result is: %d ,max); NONO( ); NONO( ) FILE *fr,*fw; int i,j,k,m,a33; fr=fopen(D:exam11200120PROGIN.DAT,r); fw=fopen(D:exam11200120PROGOUT.DAT,w); for(i=1;i=5;i+) for(j=0;j3;j+) for(k=0;k3;k+) fscanf(fr,%d,&ajk); fprintf(fw,%4d,ajk); fprintf(fw,Max = %d ,fun(a); fclose(fr); fclose(fw); 结果文件未找到程序编程题结果文件(PROGOUT.DAT)内容由于结果文件不正确,辅助判分。源代码中未含for或源代码中未含return或 标准答案 结果文件包含:1213121871610171Max=1815192835161Max=1961092451541Max=15116721814866Max=18851091451348Max=14辅助判分源文件包含:=a 比例:20for 比例:20if 比例:10return 比例:20 5 胡健 17:01:46 例如,当二维数组a中的元素为: 4 4 34 7 3 12 5 6 5程序的输出应为:The max is: 34 。请修改并运行该程序,然后将源程序文件MODI.C提交。程序中有两处错误,错误都在提示行:/*found*/的下面一行,请考生注意。请改正程序中的错误,使它能得出正确的结果。注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! 做题情况 源程序文件#include #include void main() int a33=4,4,34,7,3,12,5,6,5,i,j,max; max = a00; for ( i=0; i3; i+) for ( j=0; j3; j+) /*found*/ if (max aij) /*found*/ max =aij; printf(The max is: %d , max); 两个位置全部正确 标准答案 第一个

温馨提示

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

评论

0/150

提交评论