c语言上机程序设计10套,2012年3月全国计算机等级考试二级C语言上机题库(1~10套)...

if((a[i].s>=1&&a[i].s<=h)

b[j++]=a[i];

return j;

}

第二套

1. 程序填空

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处 free(q);

第二处 q=p->next;

第三处 q=q->next;

2. 程序修改

给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/

p=j;

/**found**/

p=i;

3. 程序设计

请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

void fun(int m,int *a,int *n)

{

int i;

*n=0;

for(i=7;i<=m;i++)

if((i%7==0)||(i%11==0))

a[(*n)++]=i;

}

第三套

1. 程序填空

函数fun的功能是:逆置数组元素是的'值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数组中数据的个数。

第一处 for(i=0;i第二处 a[i]=a[n-1-i];

第三处 a[n-i-1]=t;

2程序修改

给定程序MODI1.C中函数fun的功能是:将一个由八进制数字字符串组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。

/**found**/

n=*p-‘0’;

/**found**/

n=n*8+*p-‘0’;

3. 程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。

STREC fun(STREC*a,char *b)

{

STREC c;

Int i;

c.num[0]=’\0’;

c.s=-1;

for(i=0;iif(strcmp(a[i].num,b)==0)

{strcpy(c.num,a[i].num);

c.s=a[i].s;break;}

return c;

}

第四套

1. 程序填空

给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为ch的结点,函数值返回0.

第一处 while(p!=0)

第二处if(p->data==ch)return n;

第三处 k=fun(head,ch);

2. 程序修改

给定程序MODI1.C中函数fun的功能是:删除p所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用‘#’结束输入。

/**found**/

for(i=0,t=0;p[i];i++)

/**found**/

c[t]=’\0’;

3. 程序设计

请编写一个函数fun,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

void fun(char *ss)

{

int i;

for(i=1;i{if(ss[i]>=’a’&&ss[i]<=’z’)

ss[i]-=32;

}

}

第五套

1. 程序填空

给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如:当形参n的值为10 的时,函数返回:9.6125588。

第一处 s=0;

第二处 for(i=1;i<=n;i++)

第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t);

2. 程序修改

给定程序MODI1.C中函数fun的功能是:统计substr所指字符串在str所指字符串中出现伯次数。

/**found**/

for(i=0;str[i];i++)

/**found**/

if(substr[k+1]==’\0’)

3. 程序设计

请编写一个函数fun,它的功能是:根据以下公式求JI的值(要求满足精度0.0005,即某项小于0.0005时停止送代):程序运行后,如果输入精度为0.0005,则程序输出为3.14…。

double fun(double eps)

{ double s=1,t=1./3;

int n=1;

while(t>=eps)

{s+=t;n++;t=t*n/(2.0*n+1)

;}

return(s*2.0);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值