c语言中用do....while...从键盘上输入若干个数输入0结束,求他们的平均值

如题所述

#include<stdio.h>
int main(void)
{

float num[81],numa=0;
int i=0,n=0;
do
{
printf("请输入第%d个数(0退出):___\b\b\b",i+1);
scanf("%f",&num[i]);
i++;
}while(num[i-1]!=0);
for(n=0;n<=i-1;n++)
{

numa+=num[n];

}
printf("平均数是:%.3f",numa/(i-1));
return 0;
}
看不懂追问我。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-14
#include<stdio.h>

int get_avg(int a[], int len)
{
    int sum = 0, i;
    if (len == 0)
    {
        printf("error\n");
        return 0;
    }
    for (i=0; i<len; i++)
    {
        sum += a[i];
    }
    return (sum/len);
}

int main()
{
    int a[64] = {0}, i = 0;
    int itemp;
    do 
    {
        scanf("%d", &itemp);
        if (itemp != 0)
        {
            a[i++] = itemp;
        }
    } while (itemp != 0);

    printf("avg is %d\n", get_avg(a, i));

    return 1;
}

本回答被网友采纳
第2个回答  2014-04-14
int main()
{
  int x,count=0;
  float ave=0.0;
  do
  {
  scanf("%d",&x);
  ave=ave+x;
  count++;
  }while(x!=0);
  count--;
  ave=ave/count;
  printf("%f",ave);
return 0;
}
相似回答