C语言的问题 输入一批非零整数,用零作输入结束标志,求其中偶数、奇数的平均值#include "stdio.h"int main(){int n,s1=0,s2=0,j,i,av1,av2;while(1){scanf("%d",&n);if(n==0)break;if(n%2==0) {s1=s1+n;i++;}else {s2=s2+n;j++;}if(i!
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/07 08:39:25
C语言的问题 输入一批非零整数,用零作输入结束标志,求其中偶数、奇数的平均值#include "stdio.h"int main(){int n,s1=0,s2=0,j,i,av1,av2;while(1){scanf("%d",&n);if(n==0)break;if(n%2==0) {s1=s1+n;i++;}else {s2=s2+n;j++;}if(i!
C语言的问题 输入一批非零整数,用零作输入结束标志,求其中偶数、奇数的平均值
#include "stdio.h"
int main()
{
int n,s1=0,s2=0,j,i,av1,av2;
while(1)
{
scanf("%d",&n);
if(n==0)
break;
if(n%2==0) {s1=s1+n;i++;}
else {s2=s2+n;j++;}
if(i!=0) av1=s1/i;
if(j!=0) av2=s2/j;
}
printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);
}
为什么答案不对
C语言的问题 输入一批非零整数,用零作输入结束标志,求其中偶数、奇数的平均值#include "stdio.h"int main(){int n,s1=0,s2=0,j,i,av1,av2;while(1){scanf("%d",&n);if(n==0)break;if(n%2==0) {s1=s1+n;i++;}else {s2=s2+n;j++;}if(i!
你的i, j赋上初值为0
你求平均不用在循环体里算的, 只需统计i, j的值就行了, 跳出循环的时候算一次就OK了.
另外, 你求平均, av1, av2就要用float或double型, 不然你就算%7.2f只会给你补上.00的, 不准确
#include "stdio.h"int main()
{
int n, s1=0, s2=0, j = 0,i = 0;
float av1, av2;
while(1)
{
scanf("%d",&n);
if(n==0)
break;
if(n%2==0) {s1=s1+n;i++;}
else {s2=s2+n;j++;}
}
if(i!=0) av1=(float)s1/i;
if(j!=0) av2=(float)s2/j;
printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);
}