
运行没问题,是中间少了步骤吗?或者可以在循环的过程中直接得到每一位数吗?求解
关注
#include <stdio.h>
#include <string.h>
int main() {
char str[6]; // 用于存储输入的数字字符串,最多5位数,加一个终止符
printf("请输入一个不多于5位的正整数: ");
scanf("%5s", str); // 读取最多5个字符的字符串
int length = strlen(str); // 求出字符串的长度,即位数
printf("%d\n", length); // 输出位数
// 输出每一位数字,并在每一位数字之后输出一个空格
for (int i = 0; i < length; i++) {
printf("%c ", str[i]);
}
printf("\n");
// 按逆序输出各位数字,并在每一位数字之后输出一个空格
for (int i = length - 1; i >= 0; i--) {
printf("%c ", str[i]);
}
printf("\n");
return 0;
}