问答题
给定程序MODll.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。例如:当输入100时,输出:100=9+10+11+12+13+14+15+16100=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) {prinff(“%d=”,n); for(j=b;j<c一1;j++)prinff(“%d+”,j); prinff(“%d\n”,j); flag=1: { } if(nag=0) prinff(“不能分解\n”); } main(){ int n; prinff(“请输入一个整数:”);seanf(“%d”,&n); fun(n);}
【正确答案】正确答案:(1)m=n; (2)m=m—c:c++: (3)if(m=0)
【答案解析】