给出一个不多于5位的正整数,要求1.求出它是几位数 2.分别打印出每一位数字。3.按照逆序答应出每一位数字 C语言
时间: 2024-11-25 18:13:03 浏览: 28
在C语言中,你可以使用`stdio.h`库中的`scanf`函数读取用户输入的整数,并通过`strlen`函数确定位数。然后使用循环结构遍历每一位数字并打印。最后,为了逆序输出,你可以先存储每一位数字,再倒序显示。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
int num, digit;
char str[6]; // 假设最多5位数
printf("请输入一个不超过5位的正整数:");
scanf("%d", &num); // 读取整数
// 求出位数
int length = (num == 0) ? 1 : strlen(str);
for (int i = 0; i < length; ++i) {
// 对于非零数字,打印每一位
if (num > 0) {
digit = num % 10; // 取余得到最低位
printf("%d", digit);
num /= 10; // 移除最低位
}
printf("%c", (i < length - 1) ? ',' : '\n'); // 使用逗号分隔每位,最后一项后换行
}
// 逆序输出每一位数字
printf("逆序后的每一位:");
for (int j = length - 1; j >= 0; --j) {
printf("%d", digit); // 假定digit已保存了之前取出的数字
}
printf("\n");
return 0;
}
```
阅读全文