2012全国计算机等级考试二级C语言机试题库 联系客服

发布时间 : 星期三 文章2012全国计算机等级考试二级C语言机试题库更新完毕开始阅读09a45b6e7e21af45b307a8ef

}} 第二十二套 1. 程序填空 给定程序中,函数fun的功能是:a所指4×3矩阵中第k行的元素与第0行元素交换。例如:有下列矩阵 1 2 3 4 5 6 7 8 9 10 11 12

若k为2,程序执行结果为 7 8 9 4 5 6 1 2 3 10 11 12 第一处 void fun(int (*a)[N],int k) 第

处 for(i=0;i

第三处 a[0][i]=a[k][i]; 2. 程序修改 给定程序

MODI1.C中函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符串按ASCII码升序排序后输出。例如,若输入edcba,则应输出:abcde。 /**found**/ for(i=strlen(t)-1;i;i--) /**found**/ if(t[j]>t[j+1]) 3. 程序设计 请编写函数

fun,函数的功能是:将ss所指字符串中

所有下标为奇数位置上的字母转换为大写

(若该位置上不是字

17

母,则不转换)。

void fun(char *ss) {

char *p=ss; inr i=0; while(*p){

if((i%2)&&(*p>=’a’&&*p<=’z’)) *p-=32; p++;

i++; } }

第二十三套 1. 程序填空 给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数的返回值是1,失败是返回值是0.在复制的过程中,把复

制的内容输出到终端屏幕。主函数源文件名放在变量sfname中,目标文件放在变量tfname中。 第一处

if((fs=fopen(source,”r”))==NULL) 第

处 while(!feof(fs)) 第三处 fputc(ch,ft); 2. 程序修改 给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 /**found**/ if(d%2==0) /**found**/

s/=10; 3. 程序设计 函数fun的功能是:将两位正整数a、b合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位

依次放在变量c的十

位和千位上,b中的十位和个位数依次放在变量c的百位和个位上。 void fun(int a,int b,long*c) {

*c=(a)*1000+(b/10)*100+(a/10)*10+(b); 第二十四套 1. 程序填空 程序通过定义学生结构体变量,

18

存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。 第一处 b=a; 第二

处 strcpy(b.name,

LiSi”)

for

(i=0;i<3;i++)

printf(“%6.2f”,b.score[i]); 2. 程序修改 给定程序MODI1.C中函数fun的功能是:从s所指字符串中删除所有小

写字母c。请改正程序中的错误,使它能计算出正确的结果。 /**found**/ s[j++]=s[i]; /**found**/ s[j]=’\\0’; 3. 程序设计 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号全部移到字符串的尾部。函数fun中给出的函数仅供参考。 void fun(char *a) { char *p,*q; int n=0; p=a; while(*p==’*’) {n++;p++;} q=a;

while(*p){ *q=*p; p++;q++;

}

for(;n>0;n--) *q++=’*’; *q=’\\0’; }

第二十五套 1. 程序填空

用筛选法可

2

n

(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数,依此类推,直到所找的下一个数

19

等于n为止。这样会得到一个序列:2、3、5、7、11、13、17、19、23……函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。 第一

for(j=a[i]*2;j<=n;j+=a

[i])

第二处 while(a[i]= =0)

第三处 if(a[i]!=0) 2. 程序修改 给定程序MODI1.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回

主函数。

/**found**/ y=1; /**foune**/ d=a-i; 3. 程序设计 请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。

double fun(int n) { int i;

double sum=0.0; for(i=1;i

第二十六套 1. 程序填空

给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外层元素的值全部是1;从外向内第二层元素的值全部为2;第三层

元素的值全部是3,…依此类推。 第一处void fun(int(*a)[N]) 第二处for(j=i;j

a[k][i]=a[k][N-i-1]=i+

1;

2. 程序修改 给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2<=k

20

<=9)进制数,并按高位到低位顺序输出。 /**found**/ aa[i]=m%k; /**found**/ printf(“%d”,aa[i-1]); 3. 程序设计 编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指

针max传回该串地址。(注意:主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考)。

fun(char (*a)[81],int num,char **max) {

int i,k=0,maxlen; maxlen=strlen(a[k]);