一段很简单的c程序求助

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:44:49
// 7-3.cpp: 主项目文件。
// 读取整数,直到输入0
// 输入终止后,程序应该报告输入的偶数(不包括0)总个数、偶数的平均值,输入的奇数总个数以及奇数的平均值

#include "stdafx.h"
#include <stdio.h>
#include <ctype.h>
#define LEN 80
void main(void)
{
int i,j,n, dul_n,odd_n;
double dul_val,odd_val;
i=j=dul_n=odd_n=0;
dul_val=odd_val=0.0;
while(scanf("%d",&n) && n!=0)
{
switch(n%2)
{
case '0' : ++dul_n;
i+=n;
break;
case'1' : ++odd_n;
j+=n;
break;
}
}
dul_val=i / dul_n;
odd_val=j / odd_n;
printf ( "%5d%5g\n",&dul_n,&dul_val);
printf ("%5d%5g\n",&odd_n,&odd_val);
}

如上就是代码,题目就在最上面注释显示
我自己写的,运行没有错误,就是在终端显示的时候,怎么样都显示不出来自己想要的数值。
程序从while里出不来,不知道怎么回事儿
谢谢有人关注
根据如2楼和3楼给的提示,修改了,还是不行
按回车键后,还是不能显示printf里的想要的显示

#include <stdio.h>
#include <ctype.h>
#define LEN 80
void main(void)
{
int i,j,n, dul_n,odd_n;
double dul_val,odd_val;
i=j=dul_n=odd_n=0;
dul_val=odd_val=0.0;
while(scanf("%d",&n) && n!=0)
{
switch(n%2)
{
case 0 : ++dul_n;
i+=n;
break;
case 1 : ++odd_n;
j+=n;
break;
}
}
dul_val=i / dul_n;
odd_val=j / odd_n;
printf ( "%5d%5g\n",dul_n,dul_val);
printf ("%5d%5g\n",odd_n,odd_val);
}

case 后面不能用'0' 需要直接写0;
'0' 是字符0

dfdfdfd