void main()
{
int i, n, m, j = 0, h = 0
printf("输入个数n\n")
while (scanf("%d", &n)){
if (n == 0)break
printf("输入数字,中间以空格隔开\n")
{
for (i = 0 i < n i++)
{
scanf("%d", &m)
if (m % 2 != 0)
{
j++
}
else
{
h++
}
}
}
printf("奇数:%d\n", j)
printf("偶数:%d\n", h)
}
}
1、(scanf("%d",&a)!=0)的意思是:scanf("%d",&a)这个操作没有不成功,成功录入则为1,失败则为0;与输入是否为0是不同概念,请注意区分。
2、如果要输入为0结束可改为:
int
a,
.......
scanf("%d",&a)
while(a!=0){
.................
scanf("%d",&a).
}
/*c语言:输入若干正整数,以0结束.......by Mr.Kong*/#include<stdio.h>
#define M 100
int arrin(int *a) /*将输入的整数赋值到数组中,并计算整数的个数*/
{
int i=0
printf("输入整数:")
scanf("%d",&a[i])
while(a[i]!=0) /*以0结束输入*/
{
i++
scanf("%d",&a[i])
}
return i
}
arrout(int *a,int n) /*输出输入的整数*/
{
int i
printf("输出整数:")
for(i=0i<ni++)
printf("%d ",a[i])
}
main()
{
int n,a[M]
n=arrin(a)
arrout(a,n)
}
/*其他方法,仅有输入,判断不为0,无输出*/
#include<stdio.h>main()
{
int a=1
while(a!=0)
{
printf("请输入一个正整数:")
scanf("%d",&a)
}
}