首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
49
问题
给定程序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>main(){inta=4;printf("%d\n",(a+=a-=a*a));}
已知i、j、k为血型变量,若要从键盘输入2、3、4<CR>,使i、j、k的值分别为2、3、4,下列正确的输入语句是()。
关于结构化程序设计原则和方法描述错误的是()。
有以下程序#include<string.h>main(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),
在执行下述程序时,若从键盘输入6和8,则结果为main(){inta,b,s;scanf("%d%d",&a,&b);S=aif(a<B)s=b;S*=S;printf("%d",s);}
下面程序的运行结果是【】。#include#defineSIZE12main(){chars[SIZE];intI;for(I=0;I
下面程序的运行结果是【】。#include#defineSIZE12main(){chars[SIZE];intI;for(I=0;I
函数的值通过return语句返回,下面关于return语句的形式描述错误的是
设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
下列关于字符串的说法中错误的是
随机试题
王某在法庭上作证,证明他亲眼目睹了李某将赵某打伤的经过,王某的证言属于?()
地面水自净作用中最重要和最活跃的净化是
放射性核素肝胆显像剂延迟显像诊断原发性肝癌的优点是
A.鸡痘病毒B.猪圆环病毒C.马传染性贫血病毒D.草鱼出血热病病毒E.口蹄疫病毒属于具有反转录过程的病毒是
王京为山东省超凡职业学校的行政工作人员。2013年,王京停薪留职,在学校附近买下一处饭店准备经营。为了方便在工商管理部门注册登记和领取营业执照,王京与超凡职业学校的领导达成协议,由超凡职业学校向工商行政管理局申请登记和办理一切手续,王京给超凡职业学校一笔“
下列关于优抚社区工作的描述哪一项是正确的?( )
教学效能感对教师行为有哪些影响?
下列说法中,正确的是:
设f(x)为单调函数,且g(x)为其反函数,又设f(1)=2,f’(1)=,f"(1)=1.则g"(2)=_______.
Americaisoneofmanycountrieswherethestategivesaleg-uptomembersofcertainracial,ethnic,orothergroups【C1】______h
最新回复
(
0
)