江西高校计算机二级C等级考试样题_第1页
江西高校计算机二级C等级考试样题_第2页
江西高校计算机二级C等级考试样题_第3页
江西高校计算机二级C等级考试样题_第4页
江西高校计算机二级C等级考试样题_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、江西高校计算机二级C等级考试样题2.程序改错题 gc369.c功能为:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。程序中有两处错误代码,请指出并改正之。不得增加行或删除行,也不得更改程序结构。/*Find the saddle point*/#include#define N 5#define M 5main() int i,j,k,flag1,flag2,aNM,max,maxi,maxj; for (i=0;iN;i+) for (j=0;jM;j+) scanf(%d,&aij); flag2=0; for (i=0;iN;i+) max=a00

2、; for (j=0;jmax) max=aij;maxj=j; for (k=0,flag1=1;kakmaxj)flag1=0; if (flag1) printf(nThe saddle point is:%d,%d,%dn,i,maxj,max); flag2=1; if (flag2) printf(nThere is no saddle point in the Matrixn);1、程序填空题tk369.c中有整形数组a 。通过调用子程序inv(),对a 数组中的元素,反向交换存储位置。请在括号 处补充完整程序,并删除 ,运行测试,实现上述要求。不得增加行或删除行,也不得更改程序

3、结构。void inv(int x,int n)int temp,i,j,m= ;for(i=0;i=m;i+)j=n-i-1;temp=xi; ;xj=temp;return;main()int a10=4,5,6,7,8,9,10,11,12,88;int i;printf(The original array:n);for(i=0;i10;i+)printf(%3d,ai);printf(n);inv(a,10);printf(The reverse array:n);for(i=0;i10;i+)printf(%3d,ai);printf(n);2程序改错题 ( 每错10分,共20分

4、) 程序gc137.c中的sub函数的功能是:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。请改正函数sub中的两个错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得修改程序的结构。 #include stdio.h #include conio.h #include string.h void sub( char *s, char *t ) int i, d; d=strlen( s ); for( i=1; i d ; i+ ) ti=sd-1-i ; f

5、or( i=0; id; i+ ) td+i=si ; t2*d=/0 ; main( ) char s100, t100; clrscr( ) ; printf( n Please enter string S : ); scanf(%s , s ); sub(s,t) ; printf( n The result is : %s n , t ); 1程序填空题 ( 每空10分,共20分 ) 若一个整数x除了能被1和其本身x除尽外,不能被2到x-1中的任何整数除尽,则此数即为素数(或质数)。例如7是素数,而9不是素数。程序 tk137.c 的功能是:将任意输入的一个大偶数n分解为两个素数之和

6、,并给出各种分解方法。例如n=10时,分解后的结果为 10=3+7 和 10=5+5。请填空(替换掉下划线部分)。 程序中,函数check用来判断一个整数x是否是素数,若是,返回1,否则返回0 。 #include stdio.h main( ) int n, i; int check( int x ); do printf( Input n: ); 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 );

7、int check ( int x ) int i; for( i=2; i x ; i+ ) if( _ ) return ( 0 ); return ( 1 ); 试题一、程序改错题: gc56.c程序用于将字符串中的小写字母转换为大写字母,程序中有两处错误,请调试改正之,但不得增删语句.#includevoid main(void)char s255;int i;scanf(%s,s);for (i=0;si;i+)if(si=b & si=z)si = si +a + A;printf(%s,s);试题二、程序填空题 tk56.c程序用于计算的整型数组中最大元素所在行和列的位置。下面程

8、序不完整,请将其补充完整,以便得到正确答案,注意:不得增行和删行,也不得修改程序的结构。#include void main(void)int a45=4,8,9,10,12, 2,5,13,17,11, 81,76,34,57,33, 1,90,3,78,55;int max , max_row , max_col;int i,j;max=_;max_row=0;max_col=0;for (i=0;i4;i+)for (j=0;j5;j+)if( _) max=aij ; max_row = i ; max_col = j;printf(%d %d,max_row,max_col);2.程

9、序改错题gc274.c用于输出如下所示的图形。请将源程序文件中的两个错误改正过来,注意在答题过程中不得对源程序增行或删行,也不得更改程序的结构。 1 121 12321 1234321 123454321 123454321 1234321 12321 121 1#include #include main() int i,j,n; char s20=; printf(nn); 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,sj); for

10、(j=n/2-abs(i); j19;j+)printf(%c,sj); printf(n); 1.程序填空题tk274.c通过调用函数invert()将数组a中的元素头尾倒置过来。例如:若倒置前数组a中原来的元素为,3,5,2,4和,则头尾倒置后数组a的元素变为,4,2,5,3和。假设数组a的初值就是,3,5,2,4,6这六个数,在程序运行时输入。请将源程序补充完整,要求得到正确的结果。注意在答题过程中不得对源程序增行或删行,也不得更改程序的结构。#include #define N 6void invert(s,i,j)int *s,i,j; int t; if(ij) t=*(s+i);

11、 *(s+i)=*(s+j); *(s+j)=t; invert(s,_(1)_,j-1); main() int aN,i; for(i=0;iN;i+)scanf(%d,a+i); _(2)_ ; for(i=0;iN;i+)printf(%d ,ai); printf(n);程序改错题gc405.c中,函数fun的功能是:根据形参m的值(2m),在m行m列的二维数组中存放如下所示的数据,由main()函数输出。例如,若输入则输出:12若输入则输出:123416程序有两处错误,请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#inc

12、lude #include #define M 10int aMM=0;fun(int *a, int m) int j,k;for (j=0;jm;j+)for (k=0;km;k+)ajk=(k+1)*(j+1);main() int i,j,n;clrscr();printf(Enter n:);scanf(%d,&n);fun(a,n);for(i=0;in;i+) for(j=0;jn;j+) printf(%4d,aij ); printf(n);_程序填空题tk405.c求a数组中的所有素数的和,函数fun用来判断自变量是否为素数。素数是只能被和本身整除且大于的自然数。请将程序补

13、充完整,使它能得出正确的结果。不得增行或删行,也不得更改程序的结构。#include main() int i,a10,*p=a,sum=0; printf(Enter 10 num:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) if(fun(*(p+ _ ) = = 1) printf(%d,*(a+i); sum+=*(a+i); printf(nThe sum=%dn,sum); fun(x)int x; int i; for(i=2;i=x/2;i+) if(x%i = = 0) return (0); _return(1)_;

14、_程序改错题 输入一个范围-32768的整数,调用函数split(),拆解出各位的数字,放入字符数组s中。正数前面加“+”号,负数前面加“-”号,零不加符号。 gc486.c程序有两处错误,请找出并修正,使之符合上述要求。不得增加行或删除行,也不得更改程序结构。#include int main(void)char s7;int k;void split(int,char *);printf(Please input a Integer( Range:-32768 to 32767 ):);scanf(%d,&k);split(k,s);printf(%sn,s);return 0;void

15、split(int t,char *ps)int i;char *q=ps,tmp;if (t0)*ps+=+;if (t0)*ps+=-;t=-t;/*-Found Mistake Below-*/while(t/10!=0)i=t/10;*ps+=t-i*10;t=i;*ps+=0+t;*ps=0;/*-Found Mistake Below-*/for(q+;qps;q+,ps-)tmp=*q,*q=*ps,*ps=tmp;_程序填空题 任意输入一句英语句子,统计其中的英文单词数。为了简化程序,假设输入的句子不含标点符号,但可能有前空格或尾空格,单词间可能有多个空格相间。请在tk486.

16、c的括号 处补充完整程序,并删除 ,运行测试,实现上述要求。不得增加行或删除行,也不得更改程序结构。#include #include void main()char str81,*p;int wordnum=0;printf(Please input an English sentence:);gets(str);puts(str);p=str;while(*p=32) while(*p!=0)dop+;while( (*p= |*p=0) );wordnum+;while(*p=32)p+;printf(There are %d words in the linen,wordnum);_程

17、序改错题 gc557.c的功能是:从键盘任意输入一个字符串,调用函数f()对字符串按从小到大排序并删除重复字符,然后将处理后的字符串输出。 程序有两处错误,请找出并修正,使之符合上述要求。不得增加行或删除行,也不得更改程序结构。 题中涉及的文件所在位置均指考生目录.#include #include void f(char *str)char *p,*q,*r,c;/*-用选择排序法对字符串str中字符按从小到大排序。找出以下程序段中的错误-*/for(p=str;*p;p+)for(r=p,q=p+1;*q;q+)if(rq)r=q;if(r!=p)c=*r;*r=*p;*p=c;/*-删除

18、字符串str中的重复字符。找出以下程序段中的错误-*/for(p=str;*p;p+)for(q=p+1;*q;q+)strcpy(p,q-);void main()char s50;int number=0;printf(Please enter a string:n);gets(s);f(s);printf(%sn,s);程序填空题 tk557.c任意输入一个八位二进制数,调用函数f()将其转换为十进制数并将结果输出。 请在括号 处补充完整程序,并删除 ,运行测试,实现上述要求。不得增加行或删除行,也不得更改程序结构。 题中涉及的文件所在位置均指考生目录.#include int powe

19、r(int i)int val=1;while(i-)val*=2;return val;int f(long b)int a8,i,value=0;for(i=0;i=0;i-)if(ai=1)value= ;return value;void main() long m; int k; printf(Please enter an 8 bit binary number: ); scanf(%ld,&m); k=f(m); printf(Value is:%dn,k);程序改错题 gc609.c程序中的函数long f(char *p)实现将任意一个整数字符串p转换为一个整数。 如:若输入字符串“-123”则转换后输出负整数“-123”,若输入“”则转换后输出正整数“”。 gc609.c程序有两处错误,请找出并修正,使之符合上述要求。不得增加行或删除行,也不得更改程序结构。#i

温馨提示

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

最新文档

评论

0/150

提交评论