输入:多行,每行一个整数。 输出:多行,每行一个整数,为输入整数的反序。用c语言写
时间: 2024-10-21 08:10:39 浏览: 20
倍反序数-c语言上机习题
在C语言中,要实现读取多行整数并输出它们的反序,你可以使用`fgets()`函数从标准输入(通常是键盘)读入一行,然后处理每一行的数字并将其反转。这里有一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
// 将字符串转换成整数,如果失败则返回0
int parseInt(char *str) {
char* end;
int num = strtol(str, &end, 10);
return (end == str || *end != '\n') ? 0 : num; // 检查是否结束于数字或换行符
}
int main() {
char line[100]; // 存储一行输入
while (fgets(line, sizeof(line), stdin)) { // 循环读取直到遇到换行符或EOF
if (line[0] == '\n') continue; // 忽略空行
// 反转数组中的数字顺序
int num = parseInt(line); // 获取第一个数字
while (num != 0 && num != EOF) {
printf("%d ", num); // 输出当前的数字
num = parseInt(&line[strlen(line) - 1]); // 移动指针到下一个可能的数字
line[strlen(line) - 1] = '\0'; // 清除当前已读取的数字
}
printf("\n"); // 每个数字之间加上换行
}
return 0;
}
```
在这个程序中,我们首先定义了一个`parseInt()`函数用于从字符串中提取整数。接着,在`main()`函数中,我们使用`fgets()`循环读取用户的输入,检查是否为空行,然后对非空行进行处理。每次读取一个整数后,我们会先输出该数字,然后移动指针到剩余字符串的末尾继续查找下一个数字。
阅读全文