一个超简单C程序

来源:百度知道 编辑:UC知道 时间:2024/06/14 18:31:30
#include<math.h>
main()
{int n;static float a[500]={0};
float sum=0;
printf("enter numbers:\n");
for(n=0;n<500;n++)
{scanf("%f",&a[n]);if(a[n]!=0)printf("%f\n",a[n]);}
for(n=0;n<500;n++)
sum=a[n]+sum;
printf("sum=%f",sum);
}
错在哪里,为什么下面一个for语句不执行结果不求和
如果发现问题请帮助改下

没有错
有问题的是 你的赋值 要执行 500次 你执行500次以后就有结果了
#include<stdio.h>
#include<math.h>
void main()
{
int n;
float b;
static float a[500]={0};
float sum=0;
printf("enter numbers:\n");
scanf("%f",&b);
for(n=0;n<500;n++,b++)
a[n]=b;

for(n=0;n<500;n++)
sum=a[n]+sum;
printf("sum=%f\n",sum);
}

以上是输入一个数自己赋值

#include<stdio.h>
#include<math.h>
#include<math.h>
main()
{int n;static float a[5]={0};
float sum=0;
printf("enter numbers:\n");
for(n=0;n<5;n++)
{scanf("%f",&a[n]);if(a[n]!=0)printf("%f\n",a[n]);}
for(n=0;n<5;n++)
sum=a[n]+sum;
printf("sum=%f\n",sum);
}
以上是减少n的数量

都是可以的 因此 你的for语句不是不执行 而是你的输入没有达到500 即没有执行完输入 因此不能进行下