首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序NODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。 例如:当输入100时,输出: 100=9+10+11+12+13+14+15+16 100=18+
给定程序NODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。 例如:当输入100时,输出: 100=9+10+11+12+13+14+15+16 100=18+
admin
2019-04-04
28
问题
给定程序NODI1.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/WnRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是[]。main(){intx,a=1,b=2,c=3,d=4;x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;pri
假设用—个长度为50的数组(数组元素的下标从0至到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶揩针top指向栈顶元素,如果bottomn=49,top=30(数组下标),则栈中具有【】个元素。
要正确定义并初始化一个数组a,它含有5个元素,则正确的语句是______。
下述程序的输出结果是()。#includemain(){inti;for(i=1;i<=10;i++){if(i*i>=20)&&(i*i<=100))break;
若有下列定义(设int类型变量占2个字节):inti=8,j=9;则下列语句:printf("i=%u,j=%x\n",i,j);输出的结果是()。
表示关系a≤b≤c的C语言表达式为()。
有下列二叉树,对此二叉树前序遍历的结果为()。
下列叙述中错误的是()。
下列程序的运行结果是:【】。#include<stringh>char*ss(char*s){returns+strlen(s)/2;}main(){char*p,*str="abcdefgh";p=
下列程序的输出结果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;char
随机试题
边缘性龈炎的治疗为
路面钻芯取样法采取芯样的直径宜不小于最大集料粒径的()。
下列选项中,属于服务投标函附录条款名称的是()。
银行为某家庭提供年利率为6%、按月等额偿还的10年期个人住房抵押贷款。若每月的还款额为2000元,则该家庭在第5年最后一个月的还款额中的本金额是()元。
关于试用的物品采购合同,如果买方在试用期满后,对是否购买试用物未做明确表示的,则推定其不同意购买。()
案例:今天是高一(6)班体育课,六月下午的课非常难上,气温达到32℃以上,同学们无精打采地来到操场,体委整队报告人数开始上课。本次课的教学内容是篮球的侧掩护学习,由于学校没有场馆只能在室外篮球场上练习。在师生问好后进行准备活动。按照惯例,学生围绕
按照法律关系主体的法律地位是否平等为标准,法律关系可分为()
已知R2=1000,R3=200,执行指令MOVR2,R3,LsL#2后,R2=__________【55】,R3=__________【56】。
Ineveryprofessiontherearepeoplewhofailtopractisewhattheypreach:dentistswithmouthsfullofrottenteeth,doctorsw
被称为“90后”(thepost-90s)的中国新生一代拥有一种完全不同于父辈的文化。他们是首批伴随着互联网长大的一代。在网络平台上,“90后”以多种方式表达自我。他们在社交网络上游逛,在微博上发帖,组成有成千上万成员的所谓“部落”,利用“火星人”(Ma
最新回复
(
0
)