一道很简单的C语言题目,哪位好心人帮我看看哪里错了?

试编写C程序,它将不停地接受用户输入的数字,直到最后两个数字完全相同为止,然后打印出已接收数字的个数(不包括最后一个),以及这些数字的累加和。程序提示和输出界面如下所示:... 试编写C程序,它将不停地接受用户输入的数字,直到最后两个数字完全相同为止,然后打印出已接收数字的个数(不包括最后一个),以及这些数字的累加和。程序提示和输出界面如下所示:
Number:5
Number:-6
Number:0
Number:45
Number:45
4 numbers were entered and their sunm is 44

我的代码是这样的:
#include "stdio.h"
#define MAX_STRING 100
int Sum(int string[]);
int size;

void main()
{
int index;
int numbers[MAX_STRING];
int sum;
size=0;

numbers[0]=0;
printf("Number: ");
scanf("%d",&numbers[0]);

for(index=1;numbers[index]!=numbers[index-1];index++)
{
printf("Number: ");
scanf("%d",&numbers[index]);
size=size+1;
}

sum=Sum(numbers);

printf("%d numbers were entered and their sum is %d",size,sum);
}

int Sum(int string[])
{
int sum=0;
int index=0;

for(index=0;index<size;index++)
sum=sum+string[index];

return sum;
}

我不知道哪里错了啊。。。。。谁帮帮我啊~
展开
 我来答
百度网友713311912
2009-05-10 · TA获得超过182个赞
知道答主
回答量:135
采纳率:100%
帮助的人:150万
展开全部
for(index=1;numbers[index]!=numbers[index-1];index++)
{
printf("Number: ");
scanf("%d",&numbers[index]);
size=size+1;
}

把上面这个for循环的终止条件换一个地方,改成下面这样:

for(index=1;1;index++)
{
printf("Number: ");
scanf("%d",&numbers[index]);
size=size+1;
if(numbers[index]==numbers[index-1])
break;
}

对于如下格式的for循环:
for (语句a;语句b;语句c)
{
……
}
每次执行完花括号内的内容后,先执行语句c,再判断语句b。
按你原来的写法,肯定不会出现numbers[index]与numbers[index-1]相等的情况。

你也可以改成下面,与你原来的形式更像一点:
for(index=1;numbers[index-1]!=numbers[index-2];index++)
{
printf("Number: ");
scanf("%d",&numbers[index]);
size=size+1;
}
vbtraz
2009-05-10 · TA获得超过5530个赞
知道大有可为答主
回答量:4152
采纳率:0%
帮助的人:4423万
展开全部
for(index=1;numbers[index]!=numbers[index-1];index++)
{
printf("Number: ");
scanf("%d",&numbers[index]);
size=size+1;
}
循环里面才开始读入 numbers[index] ,循环判断上已经在比较它了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-05-10
展开全部
你这个程序停不下来,为什么?
for(index=1;numbers[index]!=numbers[index-1];index++)
{
printf("Number: ");
scanf("%d",&numbers[index]);
...
每次进入 for 循环时,你 numbers[index] 还没赋值,就参与比较,然后才赋值,这比较岂不是没有意义了。先把这个修正了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式