江西高校计算机二级C等级考试样题.docx

上传人:b****3 文档编号:845659 上传时间:2022-10-13 格式:DOCX 页数:17 大小:19.98KB
下载 相关 举报
江西高校计算机二级C等级考试样题.docx_第1页
第1页 / 共17页
江西高校计算机二级C等级考试样题.docx_第2页
第2页 / 共17页
江西高校计算机二级C等级考试样题.docx_第3页
第3页 / 共17页
江西高校计算机二级C等级考试样题.docx_第4页
第4页 / 共17页
江西高校计算机二级C等级考试样题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

江西高校计算机二级C等级考试样题.docx

《江西高校计算机二级C等级考试样题.docx》由会员分享,可在线阅读,更多相关《江西高校计算机二级C等级考试样题.docx(17页珍藏版)》请在冰豆网上搜索。

江西高校计算机二级C等级考试样题.docx

江西高校计算机二级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);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1