c - 编写一个程序,在单独的行中接受输入并计算 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 只是用户可以输入的最大行数。我怎么做?
解决方案
有两个选项可以解决这个问题 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;
}