湖南工业大学c语言题库
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2一、 程序修改题(30分)
在考生文件夹下,给定程序MODI.C的功能是: 求一维数组a中值为奇数的元素之和。 例如,当一维数组a中的元素为:11,4,2,7,3,12,5,34,5,9 程序的输出应为:The result is: 40。 请修改并运行该程序,然后将源程序文件MODI.C提交。 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行 或删行,也不得更改程序的结构!
三、 程序设计题(40分)
在考生文件夹下,要求程序PROG.C的功能是:求3*3矩阵的最小值并输 出。 例如,当矩阵为: -1 2 3 4 95 7 86 则最小值为:-1 部分源程序存在文件PROG.C中。 请在fun( )函数中的/*******begin********/ 与 /********end*********/ 之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改 动其它位置的任何内容。 注意:main()函数中的最后一行以及main()函数后面的内容,考生不必 阅读,但千万不要对这些内容作任何改动。 运行并调试程序,然后将源程序文件PROG.C提交。
#include <string.h> #include <stdio.h> int fun(char str1[],char ch) { /***********begin***********/ /************end************/ } void main() { void NONO( );//函数声明 char str1[80],ch; int count; printf("Enter str1:\n"); gets(str1); printf("Enter ch:\n"); ch=getchar(); count=fun(str1,ch); printf("Result is: %d\n",count); NONO( ); } void NONO( ) {FILE *fr,*fw; int i, count; char str[80], ch; fr=fopen("D:\\exam\\11400207\\PROGIN.DAT","r"); fw=fopen("D:\\exam\\11400207\\PROGOUT.DAT","w"); for(i=1; i<=2; i++) { fscanf(fr,"%s",str);fgetc(fr);
ch=fgetc(fr); count=fun(str,ch); fprintf(fw,"Result is :##%d\n",count); } fclose(fr); fclose(fw); }
Answer : { char c; int count=0; while((c=getchar()) != '\n') {if(c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z') ++count; }
#include <conio.h> #include <stdio.h> void main() { int arr[10]={11,4,2,7,3,12,5,34,5,9},i;
int s=0; /************found************/ for ( i=1; i<10; i++) /************found************/
for(k=0;k<N;k++) { fscanf(fr,"%d",&a[j][k]);
fprintf(fw,"%4d",a[j][k]);} fprintf(fw,"Min = %d\n",fun(a));} fclose(fr);
fclose(fw); }
Answer:int i,j; min=a[0][0]; for(i=0;i<N;i++)
for(j=0;j<N;j++) printf("%5d",a[i][j]);
printf("\n"); } min=fun(a); printf("Result is: %d\n",min); NONO( ); } void NONO( ) { FILE *fr,*fw; int i,j,k,m,a[N][N]; fr=fopen("D:\\exam\\11400224\\PROGIN.DAT","r"); fw=fopen("D:\\exam\\11400224\\PROGOUT.DAT","w"); for(i=1;i<=5;i++) { for(j=0;j<N;j++)
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <math.h> void main() { int score,t; printf("Please enter a score:"); do
scanf("%d",&score); while(score<0||score>100); t=score/10; /*************found**************/ switch(score) ----switch(t) { case 10: case 9:printf("优秀!\n");break; case 8:printf("良好!\n");break; case 7:printf("中等!\n");break; case 6:printf("及格!\n");break; /*************found**************/ else :printf("不及格!\n");: } }
#include <stdio.h>
main()
{
int i,g;
for(i=1;i<1000;i++)
{
/************found************/
g=i___(1)% ___10;
/************found************/
if(_(2)_ g*g*g==i __)
二、 程序填空题(30分)
在考生文件夹下,给定程序FILL.C的功能是: 求一维数组a中素数之和。 例如:如果数组a的元素为:2,3,5,7,8,9,10,11,12,13,15,17, 则程序的输出应为:Sum is: 58。 请填空,并运行该程序,然后将源程序文件FILL.C提交。 程序有两个空(1)、(2)需要补充完整。并将程序调试出 所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构!
}
printf("\n");
}Hale Waihona Puke Baidu
printf("%4d",i);
三、 程序设计题(40分)
在考生文件夹下,给定程序PROG.C的功能是: 求指定字符在字符串中出现的次数并输出。 例如,当字符串为"This Is a c Program",指定字符为'a’时 则应输出:Result is: 2 部分源程序存在文件PROG.C中。请打开该程序文件, 在fun( )函数中的/*******begin********/ 与 /********end*********/ 之间填入你编写的若干语句。 main( )函数中的最后一行和main( )函数后面的程序学生不必阅读,但不要进行任何改动,也不 要改动其它位置的任何内容。 保存、运行并调试程序,最后将源程序文件PROG.C提交。
#include <math.h> #include <conio.h> #include <stdio.h> void main() { int a[12]={2,3,5,7,8,9,10,11,12,13,15,17},i,j,k,s; /************found************/
#include <conio.h> #include <stdio.h> void main() { int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min; max = min = a[0][0]; for ( i=0; i<3; i++) /************found************/ for ( j=1; j<3; j++)>> for ( j=0; j<3; j++)
C语言考试模拟题
1一、 程序修改题(30分)
在考生文件夹下,给定程序MODI.C的功能是: 输入一个百分制成绩,打印出五级记分成绩。考试成绩在90分或90分以 上为优秀,80~89分为良好,70~79为中等,60~69为及格,低于60分 为不及格。 请修改并运行该程序,然后将源程序文件MODI.C提交。 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行 或删行,也不得更改程序的结构!
___(1)int s=0__; for ( i=0; i<12; i++) {
k=(int)sqrt(a[i]); for ( j=2;j <= k; j++) if (a[i] % j == 0)
break; if( j>k ) /************found************/ s=s+__(2)_ a[i]_; } printf("Sum is: %d\n",s); }
{ for(j=0;j<N;j++) { if(a[i][j]<min) min=a[i][j];} }
3一、 程序修改题(30分)
在考生文件夹下,给定程序MODI.C的功能是: 求二维数组a中的最大值和最小值。 例如,当三维数组a中的元素为: 4 4 34 37 3 12 56 5 程序的输出应为:The max is: 37 The min is: 3 。 请修改并运行该程序,然后将源程序文件MODI.C提交。 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行 或删行,也不得更改程序的结构!
switch(score) ----switch(t) else :printf("不及格!\n")----defalut: printf("不及格!\n")
二、 程序填空题(30分)
在考生文件夹下,给定程序FILL.C的功能是: 打印出1至1000中满足其个位数字的立方等于其本身的所有整数。本题 的结果为:1 64 125 216 729。 请填空,并运行该程序,然后将源程序文件FILL.C提交。 程序有两个空(1)、(2)需要补充完整。并将程序调试出 所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构!
if (i % 2 == 1) s = s + arr[i]; printf("The result is: %d\n", s); }
for ( i=1; i<10; i++) > >for ( i=0; i<10; i++) if (i % 2 == 1) >>if (arr[i] % 2 == 1)
#include <stdio.h> #define N 3 int fun(int a[N][N]) { int min; /***********begin***********/ /************end************/ return min; } void main() { void NONO( );//函数声明 int a[N][N]={-1,2,3,4,9,5,7,8,6}; int i,j,min; printf("array is:\n"); for(i=0;i<N;i++) {