求平均值的问题
输入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);
}
[解决办法]
#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]
[解决办法]
学习了