永发信息网

帮忙看下这段程序。。是从1+到n的 。。用函数调用编。。

答案:5  悬赏:70  手机版
解决时间 2021-12-24 08:15
#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几万
最佳答案
#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;}
全部回答
sum 函数中y 没有初始直 ,定义时让他等于0就可以了
你的sum函数内的y没有赋值,应该赋个0, 计算1加到N有很多种方法,这种方法还不是最优的,如果直接用公式计算,你看怎么样?
你是什么意思来着? 你这个程序效率太低。前人为你总结了前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; }
你是什么意思来着? 你这个程序效率太低。前人为你总结了前N项和公式为何不用?还有可以用移位运算。 其次,初始化y。 再其次.这句不对啊: printf("1+2+3+...+%d=%d",i,j); 如果我输入1怎么办? 修改下吧,写成从1加到%d等于%d
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
两个管理学位不同专业算双学位吗?
成龙有功夫吗
单选题下列各组矿区均为我国重要铁矿产区的有
霸刀怎么打天策
我家吉娃娃5个月,这几天一只耳朵突然搭拉下
买奶粉哪个网站比较好
15针VGA对接11根电线怎样对接
如图,已知二次函数y1=ax2+bx+c(a≠0)与一
奥运圣火在整个传递过程中一直是燃烧的雅典采
青梅精可以减肥么
萱萱副食店在什么地方啊,我要过去处理事情
梦幻北京太和殿怎么样
欧派然气热水器怎么样
开干洗店需要技术培训吗?
摩托怎么看发动机排量
推荐资讯
魅蓝手机metal手机桌面上出现了小圆白点是咋
根据6×80=480,直接写出下面各题的积.18×8
法院开庭需要缴纳什么费用
曲筱绡是什么星座
甄美造型(群星苑店)在哪里啊,我有事要去这个
香格里拉冬天晚上温度这么低,他们用什么取暖
单选题标志着世界文学发展新阶段到来的事件是
众成国际微营销系统是什么公司
贴鸡眼贴后还有黑的怎么办
新浪微博中新的好友是什么,是指来访的人吗
为什么变压器潜油泵应选用转速不大于1000r/mi
医生请问下怀孕了4个月肚脐眼附近扯着痛是怎
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?