奇偶数求和(循环,分支,数组)为什么我打的代码output limit exceeded

Mr123ak 2018-05-08 12:58:47
问题是
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

Author
John
我打的代码是
#include<stdio.h>
int main()
{
int n,i,j,s1,s2;
int a[100];
while(scanf("%d",&n)&&n!=0)
{
s1=0;s2=0;
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
{
if(a[i]%2!=0)
s1=s1+a[i];
if(a[i]%2==0)
s2=s2+a[i];
}
printf("%d %d\n",s1,s2);
for(i=n;i>=1;i--)
printf("%d ",a[i]);
printf("\n");
}
return 0;
}
要改成怎么样才能ac。
...全文
633 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr123ak 2018-05-10
  • 打赏
  • 举报
回复
感谢各位,经过修改后ac了。 代码是#include<stdio.h> int main() { int n,i,s1,s2; int a[200]; while(scanf("%d",&n)&&n>0&&n<200) { s1=0;s2=0; for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=n;i++) { if(a[i]%2!=0) s1=s1+a[i]; if(a[i]%2==0) s2=s2+a[i]; } printf("%d %d\n",s1,s2); for(i=n;i>=1;i--) printf("%d ",a[i]); printf("\n"); } return 0; }
Mr123ak 2018-05-10
  • 打赏
  • 举报
回复
大佬的代码好多东西不懂。
Mr123ak 2018-05-10
  • 打赏
  • 举报
回复
我也不知改成什么样
自信男孩 2018-05-08
  • 打赏
  • 举报
回复
#include<stdio.h>

int main()
{
    int n, i, s1,s2;
    int a[200];
    //int *a = NULL;

    while(scanf("%d", &n) && n > 0 && n < 200)
    {
        //a = (int *)malloc(sizeof(int) * n);
        //if (!a)
        //    break;
        s1=0;
        s2=0;
        for(i = 0;i < n;i++)
            scanf("%d", &a[i]);
        for(i = 0;i < n; i++)
        {
            if(a[i]%2 != 0)
                s1 = s1 + a[i];
            if(a[i]%2 == 0)
                s2 = s2 + a[i];
        }
        printf("%d %d\n", s1,s2);
        for(i = n-1; i >= 0; i--)
            printf("%d ", a[i]);
        printf("\n");

        //free(a);
    }

    return 0;
}
注意数组不要越界,对n做判断。可以用静态数组,也可以使用动态数组。
白色一大坨 2018-05-08
  • 打赏
  • 举报
回复
没看明白问题,我看都能正常执行,到底想改成什么样?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧