105套二级c语言,计算机二级c语言(操作题105套+其余参考).doc

计算机二级c语言(操作题105套其余参考)

2013年9月全国计算机等级考试二级C语言上机题库

(本题库中个别字母大小写没调整好,用时请注意)

第1套

1 程序填空

下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整函数返回值为64862。

第1处0

第2处 10*x

第3处 n/10;

2 程序修改

下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数,t中的数为7531。

/**found**/

*t=0;

/**found**/

if (d%2!=0)

3 程序设计

编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:

FirstString--

SecondString

程序输出:

FirstString--SecondString

答案

void fun (char p1[], char p2[])

{

int i,j;

for(i=0;p1[i]!=’\0’;i++)

for(j=0;p2[i]!=’\0’;j++)

p1[i++]=p2[j];

p1[i]=‘\0’;

}

第2套

1 程序填空

下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。

第1处a[i];

第2处a[j]

第3处a[j]

2 程序修改

下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……

例如,若给n输入7,则该项的斐波拉契数值为13。

/**found**/

去掉分号或者switch(g)

/**found**/

case 1:case 2:return 1;

3 程序设计

某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。

void fun(STREC *a)

{ int i;

a->ave=0.0;

for(i=0;i

a->ave=a->ave+a->s[i];

a->ave/=N

}

第3套

1. 程序填空

下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。

第一处 char

第二处 ch<=’9’

第三处‘0’

2. 程序修改

下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。

例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。

/**found**/

b[k]=*p;

/**found**/

b[k]=’ ‘;k++;

3. 程序设计

N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。

例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。

double fun(STREC *h)

{

double av=0.0;

STREC *p=h->next;

while(p!=NULL)

{

av=av+p->s;

p=p->next;

}

av/=n;

return av;

}

第4套

1 程序填空

下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。

第1处 M

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值