这个怎么两行两行输入啊

img

我不太懂该如何让这个两行两行一相加,提供一个思路也行!非常感谢 阿里嘎多

其实难点在于怎么判断输入已经结束,可以这样:

#include <stdio.h>

int main() {
    int num;
    while (scanf("%d", &num) != EOF) {   // 根据需要读取用户输入的数据类型
        // 处理读取到的用户输入
    }
    printf("用户输入已结束\n");
    return 0;
}

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7542487
  • 这篇博客你也可以参考下:用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。
  • 除此之外, 这篇博客: 指针的用法中的 指向数组元素的指针 支持 递增 递减 运算。(实质上所有指针都支持递增递减 运算 ,但只有在数组中使用才是有意义的) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •    int arr[3] = {1,2,3};
     
        int*p = arr;
        for(;p!=arr+3;p++){
            printf("%d\n",*p); 
        }
        return 0;
    }
    
  • 您还可以看一下 李志辉老师的微信小程序开发从入门课程课程中的 对触底加载更多函数进行封装小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    首先,根据问题要求,我们需要输入两行两行的内容,这可以通过循环来实现。假设需要输入4个数,根据示例代码如下:

    nums = [] # 定义一个空列表用于存放输入的四个数
    for i in range(2): # 循环两次,相当于输入两行
        row = input().split() # 输入一行并按空格分隔
        nums += [int(x) for x in row] # 将输入的字符串转换成整数并添加到列表中
    

    接下来,我们需要将这四个数相加。这可以通过列表的切片和内建函数 sum() 来实现。代码如下:

    result = sum(nums[:2]) + sum(nums[2:]) # 将前两个数和后两个数分别相加
    print(result) # 输出结果
    

    综合起来,完整的代码如下:

    nums = [] 
    for i in range(2):
        row = input().split() 
        nums += [int(x) for x in row] 
    
    result = sum(nums[:2]) + sum(nums[2:])
    print(result)
    

    对于输入四个浮点数的情况,我们可以采用类似的方法,只需要将代码中的 int() 改为 float() 即可。完整代码如下:

    nums = [] 
    for i in range(2):
        row = input().split() 
        nums += [float(x) for x in row] 
    
    result = sum(nums[:2]) + sum(nums[2:])
    print(result)
    

    这样,我们就通过循环、类型转换、列表切片和内建函数等方式,顺利地实现了输入两行两行的数字并求和的功能。

循环不就可以吗