与琪热恋 发表于 2021-3-9 20:14:42

求帮帮小白解答问题

本帖最后由 与琪热恋 于 2021-3-10 16:20 编辑

题目如下:
计算两个32位整数A和B的和!
输入
输入数据有多组,每组为一行,包括两个不超过二进制32位的整数。
输出
对每组输入,在单独的行中输出结果。
示例输入
1 2
-1 1
示例输出
3
0
我的程序如下:
#include<stdio.h>
int main()
{
    int a, b;
    while (scanf("%d%d", &a, &b) != EOF)
    {
      printf("%d", a + b);
    }
    return 0;
}
不知我的程序有什么问题,又或者有更加完整的程序,请大家帮忙看看,谢谢!

巴巴鲁 发表于 2021-3-9 20:53:19

本帖最后由 巴巴鲁 于 2021-3-9 20:55 编辑

是在输入完之后输出,可以用数组来存储结果
#include<stdio.h>
int main()
{
          int a, b, i = 0;
          int array;
          while (scanf("%d%d", &a, &b) == 2) // 等于2表示a和b全部读入,相当于输入的两个都是数字
          {
                array = a+b;
          }
          int j;
          
          if(i == 0)
          {
                printf("很抱歉,一个都没有输入!");
          }
          else
          {
                  for(j = 0; j < i; ++j)
                  {
                    printf("%d\n", array);
                  }
          }
          return 0;
}

与琪热恋 发表于 2021-3-9 21:07:25

巴巴鲁 发表于 2021-3-9 20:53
是在输入完之后输出,可以用数组来存储结果

如果有内存限制为128MB,这样是不是就超出内存限制了

与琪热恋 发表于 2021-3-9 21:39:30

这题有内存限制为128MB!

巴巴鲁 发表于 2021-3-9 21:46:35

与琪热恋 发表于 2021-3-9 21:39
这题有内存限制为128MB!

哪里的题啊

与琪热恋 发表于 2021-3-10 16:21:11

#include <stdio.h>
#define LL long long
int main(void) {
    int a, b;
    while (scanf_s("%d%d", &a, &b)==2)
    {
      printf("%lld\n", (LL)a + (LL)b);
    }
    return 0;
}

巴巴鲁 发表于 2021-3-10 16:51:01

与琪热恋 发表于 2021-3-10 16:21
#include
#define LL long long
int main(void) {


???

与琪热恋 发表于 2021-3-11 10:44:13

巴巴鲁 发表于 2021-3-10 16:51
???

这个可以算一种正确答案吧,当然还有其他的答案

巴巴鲁 发表于 2021-3-11 11:03:49

与琪热恋 发表于 2021-3-11 10:44
这个可以算一种正确答案吧,当然还有其他的答案

这个和输入输出样例符合吗
如果还考虑空间复杂度,可以先获取输入了多少组数字,再给数组分配多少空间
页: [1]
查看完整版本: 求帮帮小白解答问题