- 1、本文档共115页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]c语言改错
2-1. 改错题
下列给定程序中,函数fun()的功能是根据整型形参m,计算如下公式的值。
y=1-1/(2×2)+1/(3×3)-1/(4×4)+…+(-1)(m+1)/(m×m)
例如:m中的值为5,则应输出0.838611。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include conio.h
#include stdio.h
double fun(int m)
{ double y=1.0;
/**********************found***********************/
int j=1;
int i;
for(i=2; i=m; i++)
{
j=-1*j;
/**********************found***********************/
y+=1/(i * i);
}
return(y);
}
main()
{
int n=5;
clrscr();
printf(\nThe result is %lf\n ,fun(n));
}
2-1. 改错题
(1)错误:int j=1;
正确:double j=1.0;
(2)错误:y+=1/(i * i);
正确:y+=j/(i * i);
【解析】错误1:为了做后面的除法运算,j要定义为实型数,否则除得的结果将为整数。
错误2:题中公式是加减相间的运算,通过j来实现。
2-2. 编程题
请编一个函数void fun(int tt[M][N], int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include conio.h
#include stdio.h
#define M 3
#define N 4
void fun(int tt[M][N],int pp[N])
{
}
main()
{
int t[M][N]={{68, 32, 54, 12},{14, 24, 88, 58},{42, 22, 44, 56}};
int p[N],i,j,k;
clrscr();
printf(The riginal data is:\n);
for(i=0;iM;i++)
{
for(j=0;jN;j++)
printf(%6d,t[i][j]);
printf(\n);
}
fun(t,p);
printf(\nThe result is:\n);
for(k=0;kN;k++)
printf(%4d,p[k]);
printf(\n);
}
2-2. 编程题
void fun(int tt[M][N],int pp[N])
{
int i,j,max;
for(j=0;jN;j++)
{
max=tt[0][j]; /*假设各列中的第一个元素最大*/
for(i=0;iM;i++)
if(tt[i][j]max) /*如果各列中的其他元素比最大值还大,
则将这个更大的元素看做当前该列中最大的元素*/
max=tt[i][j];
pp[j]=max; /*将各列的最大值依次放入pp数组中*/
}
}
【解析】本题中函数的功能是求出二维数组中每列的最大元素。首先,假设各列中的第一个元素最大,然后利用行标值的移动来依次取得各列中其他元素的值,并与假设的最大值进行比较,如果遇到更大的,则把这个更大的元素看做当前该列中最大的元素,继续与该列中其他元素比较。
3-1. 改错题
下列给定程序中,函数fun的功能是按以下递归公式求函数值。
例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include stdio.h
/**********************found***********************/
fun(int n);
{
int c;
/**********************found***********************/
if(n=1)
c=15;
else
c=fun(n-1)*2;
return(c);
}
main()
{
int n;
printf(Enter n:);
scanf(%d,n);
printf(The result :%d\n\n,fun(n));
}
3-1. 改错题
(1)错误:f
您可能关注的文档
- [工学]51单片机基础MCS-51单片机汇编语言程序设计.ppt
- [工学]5楼层与地层.ppt
- [工学]6 腔肠动物.ppt
- [工学]62噪声检测.ppt
- [工学]65 若干典型的时序逻辑集成电路.ppt
- [工学]6MCS-51定时器和计数器及其应用.ppt
- [工学]4金属材料——钢铁材料_553701408.ppt
- [工学]6注射机.ppt
- [工学]8-课件IPTV-2011.pdf
- [工学]7辅助装置.ppt
- 我的家乡概况.pptx
- 2025年山东省聊城市东阿县信息化工作办公室招聘考前自测高频考点模拟试题含答案详解.docx
- 2025年山东省聊城市东阿县文化服务中心招考工作人员考前自测高频考点模拟试题及答案详解1套.docx
- 2025年山东省聊城市东昌府区街道办事处招聘公益岗10人考前自测高频考点模拟试题及答案详解1套.docx
- 2025年山东省聊城市东阿县文化服务中心招考工作人员考前自测高频考点模拟试题含答案详解.docx
- 2025年山东省聊城市东昌府区卫生健康局招聘考前自测高频考点模拟试题附答案详解.docx
- 2025年山东省聊城市东阿县信息化工作办公室招聘考前自测高频考点模拟试题及答案详解1套.docx
- 融合AI技术的2025年教育培训行业人才发展图谱.pptx
- 2025年山东省聊城市东阿县人民政府所属事业单位招聘考前自测高频考点模拟试题含答案详解.docx
- 2025年山东省聊城市东昌府区交通运输公共服务中心选调工作人员招聘考前自测高频考点模拟试题附答案详解.docx
文档评论(0)