全国计算机改错,全国计算机等级考试C语言――改错题.doc

本文档列举了四个C语言编程题目,涉及函数功能实现和代码修正。第一题要求计算特定公式值;第二题是字符串正反序拼接;第三题是筛选字符串中奇数位置或ASCII偶数字符;第四题是计算阶乘;第五题是求3x3矩阵主对角线元素之和。每个题目均给出了错误代码及修正后的正确代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文档介绍:

全国计算机等级考试C语言――改错题

1.给定程序中fun函数的功能是:根据整型形参m的值,计算如下公式的值:

例如,若m中的值为5,则应输出0.536389。

double fun(int m)

{ double y=1.0;

int i;

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

for(i=2;i

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

y-=1/(i*i); 改为:y-=1.0/(i*i);

return(y);}

main( )

{ int n=5;

printf("\nThe result is %lf\n",fun(n));}

2.程序中fun函数功能是:将s字符串的正序和反序进行连接,形成一个新字符串放在t数组中。例如,当

s所指字符串为“ABCD”时,则t所指字符串的内容应为“ABCDDCBA”。

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

void fun (char s,char t) 改为:void fun (char *s,char *t)

{ int i,d;

d=strlen(s);

for (i=0;i

for (i=0;i

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

t[2*d-1]='\0'; } 改为:t[2*d]='\0';

main( )

{ char s[100],t[100];

printf("\nPlease enter string S:");scanf("%s",s);

fun(s,t);

printf("\nThe result is: %s\n",t); }

3.给定程序中fun函数的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t

所指数组中(规定第一个字符放在第0位中)。例如:字符串中的数据为:DDEEFF,则应输出

ABBCDDEFF。

#define N 80

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

{ int i,j=0;

for(i=0;i

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

if(i%2 && s[i]%2= =0) 改为:if(i%2= =0 || s[i]%2= =0)

t[j++]=s[i];

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

t[i]='\0';} 改为:t[j]='\0';

main( )

{ char s[N],t[N];

printf("\nPlease enter string s:");gets(s);

fun(s,t);

printf("\nThe result is:%s\n",t);}

4.给定程序中fun函数的功能是:计算n!。例如,给n输入5,则输出120.000000。

#include

double fun(int n)

{ double result=1.0;

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

if n== 0 改为:if (n == 0)

return 1.0;

while(n >1 && n<170)

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

result *= n-- 改为:result *= n--;

return result;

}

main( )

{ int n;

printf("Input N:");

scanf("%d",&n);

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

}

5、给定程序中fun函数的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。

#include

int fun()

{ int a[3][3],sum;

int i,j;

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

______; 改为:sum=0

for (i=0;i<3;i++)

{ for (j=0;j<3;j++)

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

scanf("%d",a[i][j]); 改为:scanf("%d",&a[i][j]);

}

for (i=0;i<

内容来自淘豆网www.taodocs.com转载请标明出处.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值