江西高校计算机二级C等级考试样题.docx
- 文档编号:845659
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:17
- 大小:19.98KB
江西高校计算机二级C等级考试样题.docx
《江西高校计算机二级C等级考试样题.docx》由会员分享,可在线阅读,更多相关《江西高校计算机二级C等级考试样题.docx(17页珍藏版)》请在冰豆网上搜索。
江西高校计算机二级C等级考试样题
江西高校计算机二级C等级考试样题
2.程序改错题
gc369.c功能为:
找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点。
程序中有两处错误代码,请指出并改正之。
不得增加行或删除行,也不得更改程序结构。
/*Findthesaddlepoint*/
#include
#defineN5
#defineM5
main(){
inti,j,k,flag1,flag2,a[N][M],max,maxi,maxj;
for(i=0;i for(j=0;j scanf("%d",&a[i][j]); flag2=0; for(i=0;i max=a[0][0]; for(j=0;j if(a[i][j]>max){ max=a[i][j]; maxj=j; } for(k=0,flag1=1;k if(max>a[k][maxj]) flag1=0; if(flag1){ printf("\nThesaddlepointis: %d,%d,%d\n",i,maxj,max); flag2=1; } } if(flag2) printf("\nThereisnosaddlepointintheMatrix\n"); } 1、程序填空题 tk369.c中有整形数组a[]。 通过调用子程序inv(),对a[]数组中的元素,反向交换存储位置。 请在括号[]处补充完整程序,并删除[],运行测试,实现上述要求。 不得增加行或删除行,也不得更改程序结构。 voidinv(intx[],intn) { inttemp,i,j,m=[]; for(i=0;i<=m;i++) {j=n-i-1; temp=x[i]; []; x[j]=temp; } return; } main() { inta[10]={4,5,6,7,8,9,10,11,12,88}; inti; printf("Theoriginalarray: \n"); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); inv(a,10); printf("Thereversearray: \n"); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); }_ 2.程序改错题(每错10分,共20分) 程序gc137.c中的sub函数的功能是: 将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。 例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。 请改正函数sub中的两个错误,使它能得出正确的结果。 注意: 不要改动main函数,不得增行或删行,也不得修改程序的结构。 #include"stdio.h" #include"conio.h" #include"string.h" voidsub(char*s,char*t) { inti,d; d=strlen(s); for(i=1;i t[i]=s[d-1-i]; for(i=0;i t[d+i]=s[i]; t[2*d]='/0'; } main() { chars[100],t[100]; clrscr(); printf("\nPleaseenterstringS: "); scanf("%s",s); sub(s,t); printf("\nTheresultis: %s\n",t); } 1.程序填空题(每空10分,共20分) 若一个整数x除了能被1和其本身x除尽外,不能被2到x-1中的任何整数除尽,则此数即为素数(或质数)。 例如7是素数,而9不是素数。 程序tk137.c的功能是: 将任意输入的一个大偶数n分解为两个素数之和,并给出各种分解方法。 例如n=10时,分解后的结果为10=3+7和10=5+5。 请填空(替换掉下划线部分)。 程序中,函数check用来判断一个整数x是否是素数,若是,返回1,否则返回0。 #include"stdio.h" main() { intn,i; intcheck(intx); do{ printf("Inputn: "); scanf("%d",&n); }while(n%2! =0); for(i=3;i<=n/2;i++) if(check(i)&&_____________) printf("%d=%d+%d\n",n,i,n-i); } intcheck(intx) { inti; for(i=2;i if(___________)return(0); return (1); } 试题一、程序改错题: gc56.c程序用于将字符串中的小写字母转换为大写字母,程序中有两处错误,请调试改正 之,但不得增删语句. #include voidmain(void) { chars[255]; inti; scanf("%s",s); for(i=0;s[i];i++) if(s[i]>='b'&&s[i]<='z') s[i]=s[i]+'a'+'A'; printf("%s",s); } 试题二、程序填空题 tk56.c程序用于计算×的整型数组中最大元素所在行和列的位置。 下面程序不完整, 请将其补充完整,以便得到正确答案,注意: 不得增行和删行,也不得修改程序的结构。 。 #include voidmain(void) { inta[4][5]={{4,8,9,10,12}, {2,5,13,17,11}, {81,76,34,57,33}, {1,90,3,78,55}}; intmax,max_row,max_col; inti,j; max=________; max_row=0; max_col=0; for(i=0;i<4;i++) for(j=0;j<5;j++) if(______) { max=a[i][j]; max_row=i; max_col=j; } printf("%d%d",max_row,max_col); } 2.程序改错题 gc274.c用于输出如下所示的图形。 请将源程序文件中的两个错误改正过来,注意在答题过程中不得对源程序增行或删行,也不得更改程序的结构。 1 121 12321 1234321 1 54321 7654321 1 321 1 7654321 54321 1 1234321 12321 121 1 #include #include main() { inti,j,n; chars[20]="321"; printf("\n\n"); n=10; for(i=-n/2;i<=n/2;i++) { for(j=0;j<=15+abs(i);j++)printf("%c",''); for(j=0;j<=n/2-abs(i);j++)printf("%c",s[j]); for(j=n/2-abs(i);j<19;j++)printf("%c",s[j]); printf("\n"); } } 1.程序填空题 tk274.c通过调用函数invert()将数组a中的元素头尾倒置过来。 例如: 若倒置前数组a中原来的元素为,3,5,2,4和,则头尾倒置后数组a的元素变为,4,2,5,3和。 假设数组a的初值就是,3,5,2,4,6这六个数,在程序运行时输入。 请将源程序补充完整,要求得到正确的结果。 注意在答题过程中不得对源程序增行或删行,也不得更改程序的结构。 #include #defineN6 voidinvert(s,i,j) int*s,i,j; { intt; if(i { t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; invert(s,_____ (1)_____,j-1); } } main() { inta[N],i; for(i=0;i _____ (2)_____; for(i=0;i printf("\n"); } 程序改错题 gc405.c中,函数fun的功能是: '根据形参m的值(2≤m≤),在m行m列的二维数组中存放如下所示的数据,由main()函数输出。 例如, 若输入 则输出: 1 2 若输入 则输出: 1 2 3 4 16 程序有两处错误,请改正程序中的错误,使它能得出正确结果。 注意: 不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include #defineM10 inta[M][M]={0}; fun(int**a,intm) {intj,k; for(j=0;j for(k=0;k a[j][k]=(k+1)*(j+1); } main() {inti,j,n; clrscr(); printf("Entern: ");scanf("%d",&n); fun(a,n); for(i=0;i {for(j=0;j printf("%4d",a[i][j]); printf("\n"); } } _ 程序填空题 tk405.c求a数组中的所有素数的和,函数fun用来判断自变量是否为素数。 素数是只能被和本身整除且大于的自然数。 请将程序补充完整,使它能得出正确的结果。 不得增行或删行,也不得更改程序的结构。 #include main() {inti,a[10],*p=a,sum=0; printf("Enter10num: \n"); for(i=0;i<10;i++)scanf("%d",&a[i]); for(i=0;i<10;i++) if(fun(*(p+____)==1) {printf("%d",*(a+i)); sum+=*(a+i); } printf("\nThesum=%d\n",sum); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江西 高校 计算机 二级 等级 试样