2017计算机考试程序改错步骤,【2017年整理】程序改错题new-答案.doc

【2017年整理】程序改错题new-答案

1. 程序调试题1(X_2_1.C)

调试要求:下列程序不能得到正确的结果,它包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括X_2_1.C文件和X_2_1.EXE文件)保存到目录C:\KS\中。

功能说明:计算半径为1~n的圆的面积,仅打印超过 50 的圆面积。

如输入:6

则输出:

r=4,square=50.265488

r=5,square=78.539825

r=6,square=113.097351

带错误原程序:

#include

main()

{

int r,n;

float area;

scanf("%d",&n);

for (r=1,r<=n;r++)

{

area=3.141593*r*r;

if (area<50.0) continue;

printf("r=%d,square=%d\n",r,area);

}

getch();

}

答案

#include

main()

{

int r,n;

float area;

scanf("%d",&n);

for (r=1;r<=n;r++)/*modified*/

{

area=3.141593*r*r;

if (area<50.0) continue;

printf("r=%d,square=%f\n",r,area);/*modified*/

}

getch();

}

2. 程序调试题2(X_2_2.C)

调试要求:下列程序不能得到正确的结果,它包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括X_2_2.C文件和X_2_2.EXE文件)保存到目录C:\KS\中。

功能说明:将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符串形式输出。

如输入:79则输出:4F

又输入:1234则输出:4D2

带错误原程序(见C:\KS\X_2_2.C):

#include

int DtoH(int n,char *str)

{

int i,d;

for (i=0;n!=0,i++)

{

d=n%16;

if (d>=10)

str[i]='0'+d;

else

str[i]='A'+d-10;

n/=16;

}

return i;

}

main()

{

int i,k,n;

char str[80];

scanf("%d",&n);

k=DtoH(n,str);

for (i=k-1;i>=0;i--)

printf("%c",str(i));

getch();

}

答案

#include

int DtoH(int n,char *str)

{

int i,d;

for (i=0;n!=0;i++)/*modified*/

{

d=n%16;

if (d<10)/*modified*/

str[i]='0'+d;

else

str[i]='A'+d-10;

n/=16;

}

return i;

}

main()

{

int i,k,n;

char str[80];

scanf("%d",&n);

k=DtoH(n,str);

for (i=k-1;i>=0;i--)

printf("%c",str[i]);/*modified*/

getch();

}

3. 程序调试题1(D_3_1.C)

调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_3_1.c文件和D_3_1.exe文件)保存到指定目录中。

功能说明:以下程序计算并输出等差数列的累加和,数列的首项为a0,公差为d,项数为n。

如输入:-3 5 4

则输出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值