1 在C-Free集成环境下,输入下列程序,以OPER1.C为文件名保存在考生文件夹下。
提醒考生:不能改动程序结构,务必要运行程序得到结果,并按规定保存!
main( ) {
int c,s;
float p,d,w,f;
printf(\"Enter p,w,s:\");
scanf(\"%f,%f,%d\ c=s/250; switch(c)
{case 0: d=0;break; case 1: d=0.02;break;
case 2:case 3: d=0.05;break;
case 4:case 5:case 6:case 7: d=0.08;break; case 8:case 9:case 10:case 11: d=0.1;break; default: d=0.15; }
f=p*w*s*(1-d);
printf(\"s=%d, d=%1.2f , f=%e\\n\
}
2在C-Free集成环境下,输入下列程序,以STOR1.C为文件名保存在考生文件夹下。
提醒考生:不能改动程序结构,务必要运行程序得到结果,并按规定保存!
main() { int m,n,m1,n1,a; printf(\"输入两个正整数:\\n\"); scanf(\"%d,%d\ m1=m n1=n; a=m1%n1; while(a!=0) {
m1=n1;n1=a;a=m1%n1; }
printf(\"最大公约数是%d\\n\
printf(\"最小公倍数是%d\\n\}
3在C-Free集成环境下,输入下列程序,以SHUI.C为文件名保存在考生文件夹下。 提醒考生:不能改动程序结构,务必要运行程序得到结果,并按规定保存! main() { long nOld, nNew = 0; printf( \"输入一个数:\" ); scanf( \"%ld\ do { nNew = nNew * 10 + nOld % 10; nOld /= 10; } while( nold ); printf( \"%ld\\n\}
4在C-Free集成环境下,输入下列程序,以OPER1.C为文件名保存在考生文件夹下。
提醒考生:不能改动程序结构,务必要运行程序得到结果,并按规定保存!
int GetMax(int x,int y) {
if(x>y)
return x; return y; }
void main() {
int a,b,c;
scanf(\"%d%d\ c=GetMax;
printf(\"The Max is %d.\\n\}
5在C-Free集成环境下,输入下列程序,以EXCH.C为文件名保存在
考生文件夹下。
提醒考生:不能改动程序结构,务必要运行程序得到结果,并按规定保存!
main() {
int i,j,f[20]={1,1}; for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i++){
if(i%5==0) printf (\"\\n\"); printf (\"%12d\ } }
改错题:
1在考生目录下,给定程序MODI1.C的功能是:
运行时输入10个数,然后分别输出其中的最大值、最小值。 程序中有两处错误,错误都在提示行:
/***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。
注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构!
#include \"stdio.h\" main() {
float x,max,min; int i;
for(i=1;i<=10;i++) {
scanf(\"%f\
/************found************/ if(i==1){max=x;min=x;} if(x>max) max=x;
/************found************/ if(x 在考生目录下,给定程序MODI1.C的功能是: 输出2~500之间的所有素数,要求每行输出5个素数。 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! #include int m,j,n=0,k; for(m=2;m<=500;m++) { k=sqrt(m); for(j=2;j<=k;j++) /************found************/ if(m%j==0) break; if(j>k) { /************found************/ if(n%5==0) printf(\"\\n\"); printf(\"%6d\ n++; } } } 3在考生目录下,给定程序MODI1.C的功能是: 学习优良奖的条件如下:所考4门课的总成绩在360分(含)以上;或者每门课都在85分(含)以上。输入某学生4门课的考试成绩,输出是否够学习优良奖的条件。 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! #include { int score,sum=0; int i,n=0; for(i=1;i<=4;i++) { scanf(\"%d\ sum+=score; /************found************/ n++; } /************found************/ if(sum>=360&&n==4 ) printf(\"The student is very good!\\n\"); else printf(\"The student is not very good!\\n\"); } 4.在考生目录下,给定程序MODI1.C的功能是: 输入一个字符串s(少于是100个字符),先将字符串s中的所有字符按顺序存放到字符串t中,再将字符串s中的字符按逆序连接到字符串t后面,最后输出字符串t。 例如:输入\"ABCD\则输出:\"ABCDDCBA\" 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! #include void fun(char *s, char *t) { int i,s1=strlen(s); for(i=0;i main() { char s[100],t[100]; /************found************/ scanf(\"%s\ fun(s,t); puts(t); } 5 在考生目录下,给定程序MODI1.C的功能是: 输入5个互质整数,将它们存入数组a中,再输入1个整数x,然后在数组中查找x。如果找到,则输出相应的下标,否则输出“not found”。 (例如:若输入1 2 3 4 5,3,则输出3 is in 2) 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! #include printf(\"请输入5个数:\\n\"); for(i=0;i<5;i++) scanf(\"%d\ printf(\"请输入x:\\n\"); scanf(\"%d\ for(i=0;i<5;i++) /************found************/ if(a[i]==x)break; /************found************/ if(i<5)printf(\"%d is in %d\x,i); else printf(\"not found!\"); } 6. 在考生目录下,给定程序MODI1.C的功能是: 求100到500之间,被3除余2且被5除余3且被7除余5的所有数据之和。 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! #include int i,s=0; /************found************/ for(i=100;i<=500;i++) if(i%3==2&&i%5==3&&i%7==5) s=s+i; /************found************/ printf(\"s=%d\\n\ } 7. 在考生目录下,给定程序MODI1.C的功能是: 求一维数组a中的值为奇数的元素之和。 例如,当一维数组a中的元素为:16,1,2,7,3,12,15,34,5,11 程序的输出应为:The result is: 42。 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构! #include { int a[10]={16,1,2,7,3,12,15,34,5,11},i,s; s = 0; for ( i=0; i<10; i++) /************found************/ if (a[i] % 2 == 1) s = s + a[i]; /************found************/ print(\"The result is: %d\\n\ } 填空题: 1. 在考生目录下,给定程序FILL1.C的功能是: 输入1个整数n后,输出该数的位数。 例如:若输入3214,则输出4。 若输入-23156,则输出5。 若输入0,则输出1。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include int n,k=0; scanf(\"%d\ do { k++; /**************found************/ n=n//0; } /**************found************/ while(n!=0); printf(\"%d\\n\} 2.在考生目录下,给定程序FILL1.C的功能是:在第一个循环中给a数组的10个元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组的10个元素按逆序存放,变成10、9、8、7、6、5、4、3、2、1;在最后一个循环中输出逆序存放以后的10个元素。 请填空。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 说明:程序中的两个(2)处填入相同的内容。 #include int i,a[10],t; for(i=0;i<10;i++) /**************found************/ a[i]=i+1; /**************found************/ for(i=0;i<=4;i++) { t=a[i]; a[i]=a[9-i]; a[9-i]=t; } for(i=0;i<10;i++) printf(\"%5d\ printf(\"\\n\"); } 3.在考生目录下,输出一维数组a中的最大值及其下标。请填空。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include { int i,p=0,a[10]; /************found************/ for(i=0;i<10;i++) scanf(\"%d\ for(i=1;i<10;i++) /************found************/ if(a[i]>a[b]) p=i; printf(\"%d,%d\\n\ } 4.在考生目录下,给定程序FILL1.C的功能是:求输入的整数各位数字之和。 例如:输入234则输出9,输入-312则输出6。 程序有两个空(1)、(2)需要补充完整。请将程序中的____(1)____和____(2)____删除后,在相应的位置填入正确答案并调试直到得到正确结果为止。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include scanf(\"%d\ /************found************/ if(n<0) n=-n; while(n!=0) { /************found************/ s=s+n%10; n=n/10; } printf(\"%d\\n\ } 5.在考生目录下,给定程序FILL1.C的功能是: (中国古典算术问题)某工地需要搬运砖块,已知男人一人搬3块, 女人一人搬2块,小孩两人搬1块。用45人正好搬45块,问有多少种搬法? 程序有两个空(1)、(2)需要补充完整。请将程序中的____(1)____和____(2)____删除后,在相应的位置填入正确答案并调试直到得到正确结果为止。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include int i,j,k; /************found************/ for(i=0;i<=15;i++) for(j=0;j<=24;j++) { k=45-i-k; /************found************/ if(i*3+j*2+k/2==45) printf(\"i=%d,j=%d,k=%d\ } } 6.在考生目录下,给定程序FILL1.C的功能是: m!+n! 求 s= —————— 之值。 (m+n)! 例如,当m=12,n=2时,程序的输出应为:s is: 0.374529 。 程序有两个空(1)、(2)需要补充完整。请将程序中的____(1)____和____(2)____删除后,在相应的位置填入正确答案并调试直到得到正确结果为止。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include long int s=1; for (i=2;i<=x;i++) /************found************/ s=s+i; return (s); } main() { long int m=12,n=2,s1,s2,s3; float s; s1=fun(m); s2=fun(n); s3=fun(m+n); /************found************/ s=(s1+s2)/s3; printf(\"s is : %f\\n\ } 编程题: 1.在考生目录下,要求程序PROG1.C能解决如下问题: 从键盘输入3个数,输出其中的最大数。 譬如输入4,8,6,输出max=8 。 部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经定义并赋值,部分程序语句已经输入,请考生不要改动。如果考生需要使用其它变量,请自行定义。请将运算结果存入变量max中。 注意: 部分源程序存在文件PROG1.C中。 请在/*******begin********/ 与 /********end*********/ 之间填入你编写的若干语句。请勿改动其它位置的任何内容。 #include \"stdio.h\" void NONO( int max); main() { int a,b,c,max; /***********begin***********/ /************end************/ printf(\"max=%d\\n\ NONO(max); } void NONO( int max) { FILE *f; f=fopen(\"out1.dat\ fprintf(f,\"max=%d\\n\ fclose(f); } 2.在考生目录下,要求程序PROG1.C的功能是: 输入10个整数:22,67,32,15,8,56,28,5,29,42,求出这些整数中的最大值和最小值之差x。 部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经定义并赋初值,部分程序语句已输入,请考生不要改动。请将运算结果存入变量x中。 注意: 部分源程序存在文件PROG1.C中。 请在/*******begin********/ 与 /********end*********/之间填入你编写的若干语句。请勿改动其它位置的任何内容。 #include \"stdio.h\" #include \"math.h\" #include \"conio.h\" #include \"stdlib.h\" void NONO( int x) { FILE *f; f=fopen(\"out1.dat\ fprintf(f,\"x=%d\\n\ fclose(f); } main() { int max,min,a[10],i,x; /***********begin***********/ /************end************/ printf(\"x=%d\\n\ NONO(x); } 3. 在考生目录下,要求程序PROG1.C的功能是: 使用for循环统计20~50之间的奇数个数并输出奇数,要求5个一行输出。 运行结果如下: 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 count=15 部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经定义并赋值,部分程序语句已经输入,请考生不要改动。如果考生需要使用其它变量,请自行定义。请将奇数个数存入变量count中。 注意: 部分源程序存在文件PROG1.C中。 请在/*******begin********/ 与 /********end*********/之间填入你编写的若干语句。请勿改动其它位置的任何内容。 #include \"stdio.h\" void NONO( int count); main() { int count=0,i; /***********begin***********/ /************end************/ printf(\"count=%d\\n\ NONO(count); } void NONO( int count) { FILE *f; f=fopen(\"out1.dat\ fprintf(f,\"count=%d\\n\ fclose(f); } 4. 在考生目录下,要求程序PROG1.C的功能是: 从键盘输入一个整数n(x=10),用for语句按下面的公式求s的值。 1 1 1 1 s = 1 + —— + —— + —— + …… + ———— 4 9 16 n*n 部分源程序存在文件PROG1.C中,请将运算结果存入变量s中。 请在/*******begin********/ 与 /********end*********/ 之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。 注意:main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。 #include \"stdio.h\" #include \"math.h\" #include \"conio.h\" #include \"stdlib.h\" #include \"stdio.h\" void NONO( double x); main() { double s; int i,n; /***********begin***********/ /************end************/ printf(\"s=%f\\n\ NONO(s); } void NONO( double x) { FILE *f; f=fopen(\"out1.dat\ fprintf(f,\"s=%f\\n\ fclose(f); } 5.在考生目录下,要求程序PROG1.C的功能是: 求3*3矩阵的主对角线和次对角线元素之和。 例如,当矩阵为: 1 2 3 4 9 5 7 8 6 则和为:35 注意: 部分源程序存在文件PROG1.C中。 请在/*******begin********/ 与 /********end*********/之间填入你编写的若干语句。请勿改动其它位置的任何内容。 main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。 #include int i,j,s; /***********begin***********/ /************end************/ } main() { int a[3][3]={1,2,3,4,9,5,7,8,6}; int i,j,s=0; printf(\"array is:\\n\"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(\"%5d\ printf(\"\\n\"); }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务