- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
改错——给定范围
1、给定程序MODI1.C中函数fun的功能是: 在字符串的最前端加入n个*号, 形成
新串, 并且覆盖原串。
注意: 字符串的长度最长允许为79。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include stdio.h
#include string.h
void fun ( char s[], int n )
{
char a[80] , *p;
int i;
/**********found***********/
s=p;
for(i=0; in; i++) a[i]=*;
do
{ a[i]=*p;
i++;
}
/**********found***********/
while(*p++)
a[i]=0;
strcpy(s,a);
}
main()
{ int n; char s[80];
printf(\nEnter a string : ); gets(s);
printf(\nThe string \%s\\n,s);
printf(\nEnter n ( number of * ) : ); scanf(%d,n);
fun(s,n);
printf(\nThe string after insert : \%s\ \n ,s);
}
解题思路:
第一处: 指针p应指向s,所以应改为:p=s;。
第二处: 死循环,当do while循环执行一次,临时变量p应该指向字符串的下一位置,所以
应改为:while(*p++);。
2、给定程序MOD.C中函数 fun 的功能是:计算n!。
例如,给n输入5,则输出120.000000。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include stdio.h
double fun ( int n )
{ double result = 1.0 ;
/************found************/
if n = = 0
return 1.0 ;
while( n 1 n 170 )
/************found************/
result *= n--
return result ;
}
void main ( )
{ int n ;
printf(Input N:) ;
scanf(%d, n) ;
printf(\n\n%d! =%lf\n\n, n, fun(n)) ;
}
解题思路:
第一处:条件语句书写格式错误,应改为:if (n==0)。
第二处:语句后缺少分号。
3、给定程序MOD.C中函数 fun 的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num )为止:
(/4(1-1/3+1/5+1/7+(
例如, 程序运行后, 输入0.0001, 则程序输出3.1414。
请改正程序中的错误,使它能输出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include math.h
#include stdio.h
float fun ( float num )
{ int s ;
float n, t, pi ;
t = 1 ; pi = 0 ; n = 1 ; s = 1 ;
/**************found**************/
while(t = num)
{
pi = pi + t ;
n = n + 2 ;
s = -s ;
/**************found**************/
t = s % n ;
}
pi = pi * 4 ;
return pi ;
}
void main( )
{ float n1, n2 ;
printf(Enter a float number: ) ;
scanf(%f, n1) ;
n2 = fun(n1) ;
printf(%6.4f\n, n2) ;
}
解题思路:
第一处:要判断t的最后一项绝对小于指定的数,由于t是实数,那么应改为
while(fabs(t)=num)。
第二处:t是s除以n的值,而不是取余数,所以应改t=s/n;
4、给定程序MOD.C中函数fun的功能是:求k!(k13),所求阶乘的值作为函数值返回。例如:若k = 10,则应输出:3628800。
请改正程序中的错误,使它能得出正确
您可能关注的文档
- 2-4、5煤的工业分析、硫测定.ppt
- 25、《太阳是大家的》学讲稿.doc
- 2012年国家自然科学基金申请快报.doc
- 简历word模板.doc
- 科学发展观总结报告(定稿).doc
- 我与西科60年策划书.doc
- 电房管理制度.doc
- 将品牌进行到底.doc
- CAXAPLM的CATIA集成.doc
- 专业技术人员能力建设5-2.ppt
- 重难点解析京改版数学9年级上册期末测试卷附完整答案详解【典优】.docx
- 重难点解析京改版数学9年级上册期末测试卷附答案详解【培优】.docx
- 重难点解析京改版数学9年级上册期末试卷及答案详解【历年真题】.docx
- 重难点解析京改版数学9年级上册期末测试卷精华版附答案详解.docx
- 重难点解析京改版数学9年级上册期末测试卷含答案详解(名师推荐).docx
- 重难点解析京改版数学9年级上册期末测试卷附参考答案详解(名师推荐).docx
- 重难点解析京改版数学9年级上册期末测试卷附参考答案详解【培优B卷】.docx
- 重难点解析京改版数学9年级上册期末测试卷附参考答案详解【A卷】.docx
- 重难点解析京改版数学9年级上册期末测试卷含答案详解(能力提升).docx
- 重难点解析京改版数学9年级上册期末测试卷附答案详解【名师推荐】.docx
文档评论(0)