问题标题: 1686(0分)求各位神人找找问题!!!!

0
0
已解决
鲁天一
鲁天一
初级光能
初级光能
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int a,n=0,z=0;
    while(a!=0)
    {
        cin>>a;
        n++;
        z+=a;
    }
    printf("%.2f",z/n);
    return 0;
}

 


0
已采纳
樊澄宇
樊澄宇
新手光能
新手光能

您好!

由于最后结果是实数,因此,第6行的

int a,n=0,z=0

要改成

int a;
double n=0,z=0;

 

樊澄宇在2018-01-21 13:28:21追加了内容

还有,a的初始值要赋一个不是0的数,否则无法进入循环

13行末尾加上n--;

樊澄宇在2018-01-21 13:30:29追加了内容

n--;要这么加:

while (...)
{
    :
    :
    :
}
n--;
printf(...);

 

0
0
褚福磊
褚福磊
新手光能
新手光能

while(a!=0)

{

cin>>a;

n++;

z+=a;

}

改成

 while(a!=0)
    {
        cin>>a;
        n++;
        z+=a;
    }

n--;

a要等于1

褚福磊在2018-01-21 15:57:46追加了内容

保证对

0
祝明朗
祝明朗
初级光能
初级光能
    定义 a=1;
    浮点型 n=0,z=0;
    while(a!=0)
    {
        输入>>a;
        n++;
        z+=a;
    }
    n--;
    printf("%.2f",z/n);
0
郑怡翔
郑怡翔
初级天翼
初级天翼
//输入:
while(1)
    {
        cin>>a;//输入
        if(a==0)//判断
        break;//退出循环
        x++;//下标
        s+=a;//求总数
    }

最后定义一个double型,用平均数=总数/份数算出平均数,然后输出

0
朱宗晔
朱宗晔
初级光能
初级光能

核心部分 

do{
        cin >> a;
        sum += a;
        ans++;
    }while(a != 0);
    ans--;
    pj = (double)sum / ans;

记住,double不能少

 

我要回答