首页 > 解决方案 > 编写一个程序,在单独的行中接受输入并计算 C 中的总和

问题描述

我想编写一个程序,在单独的行中获取输入(每行 2 个整数)并计算每行这 2 个整数的总和这是我的代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int *numbers;
    int i, j;
    numbers = malloc(100 * sizeof(int));
    for (i = 1; i <= 100; i++)
    {
        for (j = 1; j <= 2; j++)
        {
            scanf("%d", &numbers[j]);
        }
        printf("%d\n", numbers[1]+numbers[2]);
    }


    return 0;
}

我的问题是这个程序在写入 2 个数字后立即给出 sum 并且直到达到 100 行才停止。但我想要这样:

example input:
10 5
6 8
67 2

example output:
15
14
69

100 只是用户可以输入的最大行数。我怎么做?

标签: c

解决方案


有两个选项可以解决这个问题 1)您需要有“n”个用户将要提供的输入 2)您应该从文件中读取它以检测行尾。下面的代码是第一个选项。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int *numbers;
    int i, j,n;
    scanf("%d", &n);
    numbers = malloc(n * sizeof(int));

    for (i = 0; i < n; i++)
    { int s1,s2;
            scanf("%d", &s1);
            scanf("%d", &s2);
        numbers[i]= s1+s2;
    }
 for (i = 0; i < n; i++)
    { 
        printf("%d",numbers[i]);
    }

    return 0;
}

推荐阅读