xyyyo 2023-02-28 14:57 采纳率: 45.5%
浏览 84
已结题

c语言简单问题,请大家解答

为什么输入后得不到数据呢?是我输入有问题吗?

img


#include <stdio.h>

int main()
{
    int a[20];
    int i;
    for (i = 0; i < 20; i++)
    {
        scanf_s("%d ", &a[i]);
    }
    int sum = 0;
    int n = 20;
    for (i = 0; i < 20; i++)
    {
        if (a[i] > 0)
        {
            printf("%d", a[i]);
            sum += a[i];
            n--;
        }
    }
    printf("%d\n", n);
    printf("%0.2f", sum);
    return 0;
}
  • 写回答

6条回答 默认 最新

  • 於黾 2023-02-28 15:18
    关注

    空格去掉,因为输入数据有的以空格分隔,有的以换行分隔
    你要么写两个循环,前面10个空格分隔,中间getchar读入一个换行,后面再空格分隔
    或者直接去掉空格,那么空格、换行、制表符都可以用作分隔符

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月28日