C语言,作业
题目内容:你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。
输入格式:
一系列正整数,整数的范围是(0,100000)。如果输入-1则表示输入结束。
输出格式:
两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整数之间以空格分隔。
输入样例:
9 3 4 2 5 7 -1
输出样例:
4 2
请问对于上面的问题,写出了下面的代码,有什么问题吗?自己运行的时候各种特殊值都试过,没问题,但是交作业的时候,总是通不过,不知道问题在哪里?
#include<stdio.h>
int main()
{
int x=0, y=0, n;
printf("Enter n:");
scanf("%d",&n);
while(n!=-1){
if(n<=0){
scanf("%d",&n);
continue;
}else{
if(n>=100000){
scanf("%d",&n);
continue;
}
else{
if(n%2==0){
x++;
}else{
y++;
}
scanf("%d",&n);
}
}
}
printf("%d %d", y, x);
return 0;
}
试试这个:#include <stdio.h>
int main(){
int num, odd = 0, even = 0;
while(1){
scanf("%d", &num);
if(num < 0) break;
if(num&1) odd++;
else even++;
}
printf("%d %d", odd, even);
return 0;
} 已成功测试,谢谢谢谢,你这个代码简洁多了
页:
[1]