(新手)用c语言求奇偶数求和(循环,分支,数组)

Description

给出n个数,请将其中的奇数(odd number)和偶数(even number)分别求和。

Input

多个测试用例,每个测试用例占两行。

第一行是一个整数n( 0 < n < 200 ),表示有n个数;第二行是用空格分隔的n个数。

最后一行n=0,不用处理,表示输入结束。

Output

对每个测试用例输出两行:

第一行是两个求和结果:奇数之和,偶数之和,中间用一个空格分隔。

第二行是逆序输出这n个数,每个数后面跟一个空格。

Sample Input

6
36 2 2 2 2 2
11
22 20 18 16 14 12 10 8 6 4 2
6
4 2 4 6 8 1
3
-1 1 0
0

Sample Output

0 46
2 2 2 2 2 36
0 132
2 4 6 8 10 12 14 16 18 20 22
1 24
1 8 6 4 2 4
0 0
0 1 -1

我的程序是这样子的
#include<stdio.h>
int main()
{
int a[201],sum=0,sun=0,i,n;
while(scanf("%d",&n)!=EOF){
if(n!=0){
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++){
if(a[i]%2==0)
sum=sum+a[i];
else
sun=sun+a[i];
}
printf("%d %d \n",sun,sum);
for(i=n-1;i>0;i--)
printf("%d ",a[i]);
printf("\n");
}
else if(n==0){
break;
}
}
return 0;
}

编译了没问题,一上传网上判题就说错,为什么,哭唧唧

作了一点修改:
#include<stdio.h>
int main()
{
int a[201],sum,sun,i,n;   
scanf("%d",&n);
while(n){
sum=sun=0;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++){
if(a[i]%2==0)
sum=sum+a[i];
else
sun=sun+a[i];
}
printf("%d %d\n",sun,sum);
for(i=n-1;i>=0;i--)
printf("%d ",a[i]);
printf("\n");
scanf("%d",&n);
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答