首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输m所有可能的序列,否则输出“不能分解”。 例如:当输入100时,输出: 100=9+10+11+12+13+14+15+16
给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输m所有可能的序列,否则输出“不能分解”。 例如:当输入100时,输出: 100=9+10+11+12+13+14+15+16
admin
2020-11-27
30
问题
给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输m所有可能的序列,否则输出“不能分解”。
例如:当输入100时,输出:
100=9+10+11+12+13+14+15+16
100=18+19+20+21+22
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
1 #include<stdio.h>
2 void fun(int n)
3 { int j,b,c,m,flag=0;
4 for(b=1;b<=n/2 ; b++){
5 /*********found*********/
6 n=m;
7 c=b;
8 while(m!=0&&m>=c){
9 /*********found*********/
10 m=m-c;c++
11 }
12 /*********found*********/
13 if(m!=0)
14 {printf(’’%d=’’,n);
15 for(j=b;j
16 printf(’’%d\n’’,j);
17 flag=1;
18 }
19 }
20 if(flag==0)
21 printf(’’不能分解\n’’);
22 }
23 main()
24 { int n ;
25 printf(’’清输入一个整数:’’);scanf(’’%d’’,&n);
26 fun(n);
27 }
选项
答案
(1)m=n; (2)m=m-c;c++; (3)if(m==0)
解析
(1)每次循环,程序需要对n执行减去连续的正整数序列来判断n是否刚好为0,即n是否是连续的正整数序列之和,所以需要使用临时变量m寄存n的值,每次循环对m执行减运算操作,不满足继续下一轮。另外,程序声明变量m时,未初始化它的值,所以此处应该修改为:m=n。
(2)语法错误。C语言中每个语句必须以分号结束,所以应修改为:m=m-c;c++;。
(3)题目判断n是否是连续的正整数序列之和,若是,则输出所有序列,程序中m依次减去连续的正整数,当m为0时,表示m(即n)满足条件,再输出当前序列中的每个正整数,所以此处判断条件反了,应修改为:if(m==0)。
转载请注明原文地址:https://kaotiyun.com/show/p43p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#includemain(){charch[]="uvwxyz",*pc;pc=ch;printf("%c\n",*(pc+5));}程序运行后的输出结果是
设有定义:inta=1,b=2,c=3;以下语句中执行效果与其他3个不同的是()。
有以下程序,程序的输出结果是main(){intsum,pad,pAd;sum=Pad=5;pAd=++sum,pAd++,++pad;printf("%d\n",pad);}
若程序中有宏定义行:#defineN100则以下叙述中正确的是()。
有以下程序#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(f
下列语句组中正确的是()。
数据库应用系统中的核心问题是
在软件开发中,下面不属于设计阶段的任务的是()。
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。
有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为()。
随机试题
角度铣刀的刀尖部分()较弱,容易折断。
计算机的算法具有可行性、有穷性、________和输入/输出。
A、Shethinksthattoomanyclonedmenandwomenwillbeneeded.B、Shethinksthatweneedmoregreatpeople.C、Shethinksthath
上巨虚的主治有
华新公司与洪泽公司签订了一份买卖钢材合同。合同约定华新公司先交货。交货前夕,华新公司派人调查洪泽公司的偿债能力,有确切材料证明洪泽公司负债累累,根本不能按时支付货款,华新公司遂决定暂时不向洪泽公司交货。华新公司的行为是()。
贷款公司是专门为县域农民、农业和农村经济发展提供贷款服务的非银行金融机构。()
分子生物学的研究表明()。
在分配方案中,包括()重要信息。
1926年7月,北伐战争开始,其目标是()
Hebehavesinastrangemanner,andnobodycan______this.
最新回复
(
0
)