计算机省二c语言编程改错题,2013年计算机二级C语言上机试题六十九

一、填空题

请补充main函数,该函数的功能是:从键盘输入两个字符串并人别保存在字符数组成str1 t 和str2中,用字符串str2 替换字符串联str1前面的所有字符,注意:str2的长度不大于str1, 否则需要重新输入.

例如,如果输入不敷出str1=”abced”,str2=”gg”, 则输出ggced.

仅在横线上填入所编写的若干表达式语句,勿改动函数的其它任何内容.

#include

#include

main()

{

char str1[81], str2[81];

char *p1 = str1, *p2 = str2;

do

{

printf(" Input str1 \n");

gets(str1);

printf(" Input str2 \n");

gets(str2);

} while (strlen(str1) ___1___ strlen(str2));

while (___2___)

*p1++ = *p2++;

printf(" Display str1 \n");

puts(___3___);

}

参考答案:

第1处填空:<

第2处填空:*p2或p2[0]

第3处填空:str1

二、改错题

下列给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此本行(这里的”单词”是反指由空格隔开的字符串).例如,若输入I am a student to take the examination,则应输出Am A Student To Take The Examination.

请改正程序中的错误,使程序能得出正确的结果.

注意;不要动main函数,不得增行或删行,也不得更改程序的结构

#include

#include

#include

/********found********/

void upfst(char p)

{

int k = 0;

for (; *p; p++)

if (k)

{

if (*p == ' ')

k = 0;

}

else

{

if (*p != ' ')

{

k = 1;

*p = toupper(*p);

}

}

}

main()

{

char chrstr[81];

printf("\nPlease enter an English text line: ");

gets(chrstr);

printf("\n\nBefore changing:\n %s", chrstr);

upfst(chrstr);

printf("\nAfter changing:\n %s\n", chrstr);

}

参考答案:

第1处void upfst(char p)改为void upfst(char *p)

三、编程题

请编写函数fun,它的功能是:求Fibonacci数列中大于t(t>3)的最小的一个数,结果由函数返回.其中Fibonacci数列F(n)的定义为:

F(0)=0,F(1)=1

F()=F(n-1)+F(n-2)

假如:当 t=1000时, 函数值为1567.

请勿改动主函数动main其它的函数中的任何内容,仅在函数fun花括号中填入所编写的若干语句.

#include

#include

#include

int fun (int t)

{

}

main()

{

int n;

FILE *out;

n=1000;

printf("n=%d,f=%d\n",n,fun(n));

out=fopen ("out.dat", "w");

for (n = 500; n < 3000; n+=500)

fprintf(out, "%d\n", fun(n));

fclose (out );

}

参考答案:

int fun(int t)

{

int a=1,b=1,c=0,I;

for(i=4;i<=t;i++)

{

if(c

{

c=a+b;

a=b;

b=c;

}

else

break;

}

return c:

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值