首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求平均值的有关问题

2012-02-24 
求平均值的问题输入n个整数,求这n个数之中的偶数平均值,并输出各位看看我的带码哪里错了,谢谢了。。。。#inclu

求平均值的问题
输入n个整数,求这n个数之中的偶数平均值,并输出

各位看看我的带码哪里错了,谢谢了。。。。

#include<stdio.h>
void main()
{
  int n1,n2=0,n=1,num;
  float ave=0;
printf("输入整数的个数: ");
scanf("%d",&n1);
printf("请输入%d个整数:",n1);
scanf("%d",&num);
  while(n<n1)
{
if(num%2==0)
{
ave+=num;
n2++;
}
scanf("%d",&num);
n++;
}
ave=ave/n2;
if(n2!=0)
printf("%f",ave);
}

[解决办法]

C/C++ code
#include<stdio.h>void main(){    int n1,n2=0,n=1,num;    float ave=0;    printf("输入整数的个数: ");    scanf("%d",&n1);    printf("请输入%d个整数:",n1);    scanf("%d",&num);    while(n<n1)    {        if(num%2==0)        {            ave+=num;            n2++;        }        scanf("%d",&num);        n++;    }    if(num%2==0)//是后少了一次判断    {        ave+=num;        n2++;    }    ave=ave/n2;    if(n2!=0)        printf("%f",ave);}
[解决办法]
int main(int argc, char *argv[])

int number = 0;
int fitNumber = 0;
float sum = 0;
int value = 0;

printf("请输入整数个数:\n");
scanf("%d", &number);
printf("请输入%d个整数\n", number);

while (number-- > 0)
{
scanf("%d", &value);

if (value % 2 == 0)
{
sum += value;
fitNumber++;
}
}

if (fitNumber == 0)
{
printf("0.000");
}
else
{
printf("%f", sum / fitNumber);
}
return 0;
}

写了个, 来蹭点分。。
[解决办法]
应该是你在while的判断有问题啊少一次,以下是我改的你再试下

#include<stdio.h>
void main()
{
int n1,n2=0,n=0,num;
float ave=0;
printf("输入整数的个数: ");
scanf("%d",&n1);
printf("请输入%d个整数:",n1);
  while(n<n1)
{
n++;
scanf("%d",&num);if(num%2==0)
{
ave+=num;
n2++;
}
}
ave=ave/n2;
if(n2!=0)
printf("%f",ave);
}
[解决办法]
[code=
#include<stdio.h>
void main()
{
int n1,n2=0,n=1,num;
float ave=0;
printf("输入整数的个数: ");
scanf("%d",&n1);
printf("请输入%d个整数:",n1);
scanf("%d",&num);
while(n<n1)
{
if(num%2==0)
{
ave+=num;
n2++;
}
scanf("%d",&num);
n++;
}
if(num%2==0)//少了一次
{
ave+=num;
n2++;
}
if(n2!=0)//先判断再计算
{
ave=ave/n2;
printf("%f",ave);
}
}
/code]
[解决办法]
学习了

热点排行