我要同时输入多行数据,最后让它输出多行答案。
时间: 2024-09-09 20:14:54 浏览: 42
如果你想让程序能够接收多行数据并输出对应多行的结果,你需要将程序设计成一个交互式模式,例如通过循环来处理用户的输入。在C语言中,可以使用`scanf`函数逐行读取输入,然后在每次读取后计算结果并输出。
以下是一个简单的示例,它会提示用户输入多行整数,然后计算每行输入值的累加和:
```c
#include <stdio.h>
int main() {
char input[50]; // 存储一行的输入
int sum = 0; // 初始化累加和
int line_number = 1; // 行数计数
printf("请输入多行数据,每行结束后按回车,输入-1结束输入:\n");
// 无限循环,直到用户输入-1
while (fgets(input, sizeof(input), stdin)) {
if (input[0] == '-' && input[1] == '1') break; // 用户输入-1表示结束
sum = 0; // 对于新的一行,初始化累加和
for (int i = 0; input[i] != '\n'; i++) { // 遍历行内容,忽略换行符
if (input[i] != ' ') continue; // 跳过空格
sum += atoi(&input[i]); // 将字符转为整数并累加到sum中
}
printf("第%3d行的数据累加和为:%d\n", line_number++, sum);
}
printf("\n所有数据累加和计算完成。\n");
return 0;
}
```
在这个示例中,程序不断从标准输入(`stdin`)读取数据,直到用户输入"-1"为止。对于每行输入,程序计算其中数值的总和并输出结果。如果你需要其他类型的计算,只需调整累加和的部分即可。
阅读全文