#include "stdio.h"
int sum(int);
void main()
{ int i,j;
printf("请输入一个小于1000的整数:");
scanf("%d",&i);
j=sum(i);
printf("1+2+3+...+%d=%d",i,j);}
int sum(int n)
{int x,y;
for(x=1;x<=n;x++)
y=y+x;
return y;}
输出结果其它都对,就是最后的值不对。。很大~~-80几万
帮忙看下这段程序。。是从1+到n的 。。用函数调用编。。
答案:5 悬赏:70 手机版
解决时间 2021-12-24 08:15
- 提问者网友:贪了杯
- 2021-12-23 13:31
最佳答案
- 五星知识达人网友:玩家
- 2022-01-22 01:44
#include "stdio.h"
int sum(int n);
void main()
{ int i,j;
printf("请输入一个小于1000的整数:");
scanf("%d",&i);
j=sum(i);
printf("1+2+3+...+%d=%d",i,j);}
int sum(int n)
{int x,y=0; //y没有初始化
for(x=1;x<=n;x++)
y=y+x;
return y;}
int sum(int n);
void main()
{ int i,j;
printf("请输入一个小于1000的整数:");
scanf("%d",&i);
j=sum(i);
printf("1+2+3+...+%d=%d",i,j);}
int sum(int n)
{int x,y=0; //y没有初始化
for(x=1;x<=n;x++)
y=y+x;
return y;}
全部回答
- 1楼网友:千杯敬自由
- 2022-01-22 03:28
sum 函数中y 没有初始直 ,定义时让他等于0就可以了
- 2楼网友:风格不统一
- 2022-01-22 03:14
你的sum函数内的y没有赋值,应该赋个0,
计算1加到N有很多种方法,这种方法还不是最优的,如果直接用公式计算,你看怎么样?
- 3楼网友:大漠
- 2022-01-22 03:02
你是什么意思来着?
你这个程序效率太低。前人为你总结了前N项和公式为何不用?还有可以用移位运算。
其次,初始化y。
再其次.这句不对啊:
printf("1+2+3+...+%d=%d",i,j);
如果我输入1怎么办?
修改下吧,写成从1加到%d等于%d
//#include "stdio.h"
int sum(int);
void main()
{
int i,j;
printf("请输入一个小于1000的整数:");
scanf("%d",&i);
j=sum(i);
printf("1+2+3+...+%d=%d",i,j);
}
int sum(int n)
{
int x,y=0;
for(x=1;x<=n;x++)
y=y+x;
return y;
}
- 4楼网友:青尢
- 2022-01-22 02:22
你是什么意思来着?
你这个程序效率太低。前人为你总结了前N项和公式为何不用?还有可以用移位运算。
其次,初始化y。
再其次.这句不对啊:
printf("1+2+3+...+%d=%d",i,j);
如果我输入1怎么办?
修改下吧,写成从1加到%d等于%d
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯