【发布时间】:2023-03-04 05:01:02
【问题描述】:
我需要读取未知数量的行,每行包含未知数量的整数,这个数字因行而异。
整数之间用一个空格隔开,行尾没有空格。
输出是所有整数的总和。
示例输入:
5
2 2
4 4 4
6 6
3 3
输出:
39
【问题讨论】:
-
但是,取决于您应该如何处理这些数字,而您没有告诉我们,那么可以在循环中调用
scanf("%d", &number)直到它返回不同的东西来自1。由于您没有告诉我们根本问题,您应该如何处理这些数字,因此很难为您提供一个好的单一解决方案。 -
@Balou 你不需要预读
rows号码。您需要一个循环,调用scanf来读取一个int,检查它的返回值,只要返回值为1,将您刚刚读取的int添加到正在运行的“sum”变量中. -
你关心每一行的整数个数吗?即,是否需要区分
1 2 3\n4 5 6\n和1\n2 3\n 4\n5\n6?如果空格的类型相关,使用scanf会更困难。 -
scanf具有 - 通常不受欢迎的 - 属性,它对待行内和行尾的换行符的所有空格完全相同。然而,对于这个特定的问题陈述,这正是我们所需要的。