首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。 例如:当输入100时,输出: 100=9+10+11+12+13+14+15+16 100=18
给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。 例如:当输入100时,输出: 100=9+10+11+12+13+14+15+16 100=18
admin
2017-02-24
66
问题
给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。
例如:当输入100时,输出:
100=9+10+11+12+13+14+15+16
100=18+19+20+21+22
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
void fun(int n)
{ int j,b,c,m,flag=0;
for(b=1;b<=n/2;b++){
/*********found*********/
n=m;
c=b;
while(m!=0&&m>=C){
/*********found*********/
m=m-c;c++
}
/*********found*********/
if(m!=0)
{printf("%d=",n);
for(j=b,j<c一1;j++)
printf("%d+",j);
printf("%d\n",j);
flag=1;
}
}
if(flag=0)
printf("不能分解\n");
}
main()
{ int n;
printf("请输入一个整数:");
scanf("%d",&n);
fun(n);
}
选项
答案
(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/mMDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是()。#include<stdio.h>voidp(int*x){printf("%d",++*x);}voidmain(){inty=3;p(&y);}
下列程序的输出结果是()。#include<stdio.h>main(){iuta=2,b=3,p;p=f(a,B)printf("%d",p);}intf(a,b){intc;if(a>B)c=1;e1Seif(a==
有以下程序#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i;fprintf(f
下面程序段的运行结果是chara[]="lanuage",*p;p=a;while(*p!=’u’){printf("%c",*p-32);p++;}
现有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,
以下选项中,当x为大于1的奇数时,值为0的表达式是
若执行下面的程序时,从键盘输入5和2,则输出结果是main(){inta,b,k;scanf("%d,%d",&a,&b);k=a;if(a<b)k=a%b;elsek=b%a;printf("
下列选项可以正确表示字符型常量的是
以下程序的运行结果是【】。#includemain(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen("d2.dat","wb");fwtite(a,sizeof(int),5
随机试题
下列哪些可见于肺炎链球菌肺炎患者
男性40岁,1周前干咳左胸痛,近2日来,畏寒发热38.8℃,气急乏力。体检:心率94次/分,律齐,左胸廓饱满,呼吸运动减弱,左下叩之浊音至实音,语颤减低,呼吸音明显减低。经检查诊断明确后,所给予的下列治疗中哪一项是错误的
患者,女,26岁。产后18小时,突然发生阴道大量出血,色鲜红,头晕目花,心悸怔忡,肢冷汗出,面色苍白;舌淡,脉虚数。下列有关该病的西医治法,说法错误的是
丁公司欠甲公司100万元。2005年10月,甲公司与丙公司签订协议,约定甲公司对丁公司的100万元债权由丙公司享有,但未通知丁公司。同年12月,丙公司向法院起诉丁公司要求归还欠款,有关该案的表达正确的是:()
项目风险的分解途径不包括()。
民用住宅楼梯的坡度范围,宜在()之间。
在临时用地指标中,要求平面布置合理、紧凑,在满足环境、职业健康与安全及文明施工要求的前提下尽可能减少废弃地和死角,临时设施占地面积有效利用率大于()。
简述蒙古统一与元朝建立的经过。
(),对公安工作和队伍建设提出了新的挑战,公安工作和公安队伍建设存在的突出问题迫切需要抓紧解决,这是当前加强正规化建设、明确现阶段新的管理标准的出发点和立足点。
Standingupstraightandkeepingyourbodycenteredmayseemlikesecondnaturetomostofus.Butforpeoplewithbalancedisor
最新回复
(
0
)