1215787625 发表于 2023-11-9 21:06:46

每行两个整数a,b(1<=a,b<=1000000000),不知道有多少次输入,怎么改代码

#include<stdio.h>
int main()
{
        long int n=0,m=0,a,b,c;
        char ch;
        do{
                scanf("%d %d",&a,&b);
      c=a+b;
      printf("%d\n",c);
            n++;
         ch = getchar();
                   if(ch==10)
                   break;
        }while(ch!=0);
                        return 0;
}

isdkz 发表于 2023-11-9 21:07:32

你可以使用一个无限循环来接收输入,直到遇到换行符为止。在每次循环中,首先使用 scanf 函数读取两个整数,并将其相加存储在数组 c 中。然后,打印出相加的结果,并递增计数器 n 。最后,使用 getchar 函数读取一个字符,如果读取到的字符是换行符,则跳出循环。

下面是修改后的代码:

#include <stdio.h>

int main()
{
    long int n = 0, a, b, c;
    char ch;

    while (1) {
      scanf("%ld %ld", &a, &b);
      c = a + b;
      printf("%ld\n", c);
      n++;
      ch = getchar();
      if (ch == '\n') {
            break;
      }
    }

    return 0;
}


这样,你就可以连续输入多行两个整数,并在每次输入后打印出它们的和。当遇到换行符时,循环结束。
页: [1]
查看完整版本: 每行两个整数a,b(1<=a,b<=1000000000),不知道有多少次输入,怎么改代码