首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下给定程序中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连 续正整数序列之和。若是,则输出所有可能的序列。否则输出“不能分解”。 例如:当输入100时,输出: 100=9+10+11+12+13+14+15+16
以下给定程序中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连 续正整数序列之和。若是,则输出所有可能的序列。否则输出“不能分解”。 例如:当输入100时,输出: 100=9+10+11+12+13+14+15+16
admin
2018-07-19
30
问题
以下给定程序中,函数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—x: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://jikaoti.com/ti/mda0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下函数:charfun(char*p){returnp;)该函数的返回值是()。
下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是()。
若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是______。intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
有以下程序的输出结果是( ) void sum(int *a) { a[0]=a[1];} main( ) { int aa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=2;i>=0;i--) sp; sum(&a
设int型占2个字节,则unsignedint所能表示的数据范围是______。
若有以下定义:intt[3][2];,能正确表示t数组元素地址的表达式是______。
有以下程序:#include<stdio.h>voidswap(char*x,ehar*y){chart;t=*x;*x:*y;*y=t;main(){char*s1="abc",*s2="123";
有以下程序:main(){inta=1,b=3,c=5,*p;int*p1=&a,*p2=&b,*p3=&c;*p=*p1*(*p2);printf("%d\n",*p);}执行后的输出结果是()。
在软件开发过程中,软件结构设计是描述______。
随机试题
下列选项中,不属于营业外收支项目的是
某女性患者,20岁,未婚。因右下腹疼痛4小时到某医院急诊,医生诊断为急性阑尾炎而进行手术。术中见阑尾正常,但右侧输卵管妊娠破裂出血。医生切除了病人右侧输卵管并结扎止血。术后,患者要求医生为其宫外孕保密。当患者母亲问及病情时,医生应该
一台积复励直流发电机与直流电网连接向电网供电。欲将它改为积复励直流电动机运行,若保持电机原转向不变(设电网电压极性不变),需要采取下列哪项措施()。
国家基于国家权力的行使而依法取得和认定的,或者国家以各种形式对企业投资及投资收益形成的以及国家拨款、接受赠与等形成的各种财产和财产性权力,是()
有医学研究显示,行为痴呆症患者大脑组织中往往含有过量的铝。同时有化学研究表明,一种硅化合物可以吸收铝。陈医生据此认为,可以用这种硅化合物治疗行为痴呆症。以下哪项是陈医生最可能依赖的假设?()
毛泽东在中共七届三中全会中发表讲话:“我们绝不可树敌太多,必须在一个方面有所让步,有所缓和,集中力量向另一方面进攻。我们一定要做好工作,使工人、农民、小手工业者都拥护我们,使民族资产阶级和知识分子中的绝大多数人不反对我们。这样一来,国民党残余、特务、土匪就
求,其中∑为下半球面∑:的上侧,a为大于零的常数.
关于ADSL接入技术,下面的论述中不正确的是______。A.ADSL采用了不对称的传输技术B.ADSL采用了时分复用技术C.ADSL的下行速率可达8Mb/sD.ADSL采用了频分复用技术
连续执行以下命令之后,最后一条命令的输出结果是()。SETEXACTOFFX=“A”?IIF(X="A",X-"BCD",X+"BCD")
在类声明中,紧跟在“public:”后声明的成员的访问权限是()。
最新回复
(
0
)