2012年3月全国计算机等级考试二级C语言上机题库(30~40套)

第三十一套

2012年3月全国计算机等级考试二级C语言上机题库(30~40套)

1. 程序填空

给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。Ss所指字符串数组中共有N个字符串,且串长小于M。

第一处 for(i=0;i

第二处 if(len<=k)

第三处 strcpy(ss[j++],ss[i]);

2. 程序修改

给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值或相等的字符依次存放在c所指数组中,形成一个新的字符串。

/**found**/

int k=0;

/**found**/

while(*p||*q)

3. 程序设计

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。

void fun(char *a)

{

int i=0,k;

while(a[i]!==’*’)i++;

k=i;

while(a[i]!=’’)

{

if(a[i]!=’*’)

a[k++]=a[i];

i++;

}

a[k]=’’;

}

第三十二

1. 程序填空

给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。

第一处 s->data=x;

第二处 q=p;

第三处 q->next=s;

2. 程序修改

给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。

/**found**/

long k=1;

/**found**/

num/=10

3. 程序设计

请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数返回。

float fun(float *a,int n)

{

int i;

float ave=0.0;

for(i=0;i

ave=ave+a[i];

ave=ave/n;

return ave;

}

第三十三套

1. 程序填空

给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。Ss所指字符串数组中共有N个字符,且串长小于M。程序中库函数strstr(s1、s2)的功能是早s1串中查找s2子串,若没有,函数值为0,若有,为非0。

第一处 for(i=0;i

第二处 if(strstr(ss[i],substr)!=NULL)

第三处 if(find==0)

2. 程序修改

给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。

/**found**/

fun(int x,int y,int z)

/**found**/

return j;

3. 程序设计

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的.长度,形参h给出了字符串中前导*号的个数。在编写函数时,不得使用C语言提供的字符串函数。

void fun(char *a,int n,int h,int e)

{

char *p=a;

int j=0,len=0;

while(*p){p++;len++;}

while(j

a[j]=a[h+j];

j++;

}

a[j]=0;

}

第三十四套

1. 程序填空

给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。

第一处 for(i=0;i

第二处

if(strcmp ss[i],t)==0

return i;

第三处 if(n==-1)

printf(“nDon’t found!n”);

2. 程序修改

给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些事,并且把这些数放在b所指的数组中,这些数作为函数值返回。规定,函数中a1放个位数,a2放十位数。

/**found**/

a2=k/10;

/**found**/

return i;

3. 程序设计

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。

void fun(char *a)

{

char *p=a;

while(*p)p++;p--;

while(*p==’*’)p--;

p++;

*p=0;

}

第三十五套

1. 程序填空

给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。

第一处 *n=0;

第二处 p=p->next;

第三处 fun(head,&num);

2. 程序修改

给定程序MODI1.C中函数fun的功能是:求出s所指字符串最后一次出现的t所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。

/**found**/

a=NULL;

/**found**/

if(*r==*p)

3. 程序设计

函数fun的功能是:将s所指字符串中除了下标为偶数,同时ASCII指也为偶数的字符外,其余的全部都删除:串中剩余字符所形成的一个新串放在t所指的数组中。

void fun(char *s,char t[ ])

{

int i,j=0;

for(i=0;i

if(s[i]%2==0)t[j++]=s[i];

t[j]=0;

}