Input 一行内输入一串整数,以 0结束,以空格间隔。 Output 一行内倒着输出这一串整数,以空格间隔。用c语言
时间: 2024-09-16 13:04:02 浏览: 56
在C语言中,你可以使用标准库函数`fgets()`读入一行整数,并用`atoi()`或`sscanf()`逐个解析它们。然后,可以创建一个新的字符串来存储倒序的整数,并利用指针操作将它们反向添加到新字符串中。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h> // 包含atoi函数
#include <string.h>
#define MAX_LINE_LENGTH 100 // 定义最大行长度
int main() {
char input[MAX_LINE_LENGTH]; // 存储输入的字符串
fgets(input, MAX_LINE_LENGTH, stdin); // 从标准输入读取一行数据
input[strcspn(input, " \n")] = '\0'; // 删除末尾的换行符
char* end = input + strlen(input) - 1; // 创建指针,从字符串末尾开始
char output[2 * MAX_LINE_LENGTH]; // 输出缓冲区足够大来保存倒序后的字符串
while (*end != '0') { // 当遇到0才停止
*end = '\0';
*end = input[0]; // 将当前字符放到输出的开头
output[strlen(output)] = ' '; // 添加空格
end--; // 移动指针到下一个字符
input++; // 移动输入指针到下一个字符
}
output[strlen(output) - 1] = '\0'; // 删除最后一个多余的空格
printf("%s\n", output); // 打印倒序后的整数序列
return 0;
}
阅读全文