标题:[求助]输入任意个数进行累加,当输入0时结束累加并显示累加结果
只看楼主
梦单
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-2-6
 问题点数:0 回复次数:4 
[求助]输入任意个数进行累加,当输入0时结束累加并显示累加结果
“输入任意个数进行累加,当输入0时结束累加并显示累加结果”怎么做啊。谢谢。
2006-02-16 17:39
stdio
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-1-22
得分:0 
#include<stdio.h>
#include<malloc.h>
struct num
{
int n;
struct num *next;
};
int main()
{
struct num *p1, *p2, head;
int sum=0;
p1=p2=head=malloc(sizeof(struct num));
scanf("%d", &p1->n);
while(p1->n)
{
p2=p1;
p1=malloc(sizeof(struct num));
p2->next=p1;
scanf("%d", &p1->n);
}
p2->next=NULL;
p1=head;
while(p1)
{
sum+=p1->n;
p1=p1->next;
}
printf("%d\n", sum);
getch();
return 0;
}

[此贴子已经被作者于2006-2-16 18:02:04编辑过]

2006-02-16 17:53
welldone2006
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-1-8
得分:0 
#include<stdio.h>
main()
{ int temp=1;
int sum=0;
while(temp!=0)
{
scanf("%d",&temp);
sum=sum+temp;
}
printf("sum=%d",sum);
getch();
}

2006-02-16 23:09
stdio
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-1-22
得分:0 
汗。。。。。。。。。
我给想的太复杂了。。。
竟然用了链表。。。。。。。。。

2006-02-17 08:50
吸血鬼王
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2005-12-17
得分:0 

首先说明:不可能是任意多个数,因为这样总会有溢出的时候。
#include<stdio.h>
main()
{ long int temp;
long int sum=0;
while(scanf("%ld",&temp)==1&&temp!=0)
{
sum=sum+temp;
}
printf("sum=%ld",sum);
getch();
}

2006-02-17 10:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-45821-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.907031 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved