18169947283 发表于 2020-11-18 09:16:24

求助大佬,大佬们,能帮我看看我这哪儿错了吗。

请用户输入10个int型数据,求第一个奇数之前所有数据(不包含该奇数)的和,例如用户输入的10个数据为6 12 4 6 7 3 4 18 9 2,第一个奇数是7,和为“6+12+4+6=28”。

#include<stdio.h>
int main()
{
        int a;
        int i, sum = 10;
        puts("请输入十个整数:");
        for (i = 0; i < 10; i++)
        {
                scanf_s("%d", &a);
        }
        for (i = 0; i < 10; i++)
        {
                if (i % 2 == 1)
                {
                        sum = sum + a;
                }
                printf("%d", sum);
        }
        return 0;
}

sunrise085 发表于 2020-11-18 09:23:31

#include<stdio.h>
int main()
{
    int a;
    int i, sum = 0;//初始值为什么是10,不应该是0吗
    puts("请输入十个整数:");
    for (i = 0; i < 10; i++)
    {
      scanf_s("%d", &a);
    }
    for (i = 0; i < 10; i++)
    {
      if (a % 2 == 1)//这里应该判断a而不是i
      {
            break;//遇到奇数就跳出循环,不再求和
      }
      sum = sum + a;
    }
    printf("%d ", sum);//输出应该是在求和之后吧。放在循环内会每此都输出
    return 0;
}

18169947283 发表于 2020-11-18 09:29:24

sunrise085 发表于 2020-11-18 09:23


谢谢,大佬提点。明白了
{:5_110:}
页: [1]
查看完整版本: 求助大佬,大佬们,能帮我看看我这哪儿错了吗。