c语言使用switch语句实现输入一个不多余五位的正整数,要求求出它是几位数,分别输出每一位数字,逆序输出各位数字
时间: 2024-12-02 12:18:21 浏览: 59
在C语言中,你可以使用switch
语句配合while
循环来实现这个功能。首先,获取用户输入的正整数,然后通过条件判断确定其位数,并逐位读取并逆序输出。以下是一个简单的示例代码:
#include <stdio.h>
int main() {
int num, remainder;
printf("请输入一个不超过5位的正整数:");
scanf("%d", &num);
if (num <= 0) {
printf("输入错误,只接受正整数。\n");
return 1;
}
// 获取位数
int digits = 0;
while (num > 0) {
remainder = num % 10; // 取余得到最后一位
printf("第%02d位数字是:%d\n", digits + 1, remainder);
num /= 10; // 除以10去掉最低位
digits++;
}
// 逆序输出
printf("逆序后的数字是:");
for (int i = digits - 1; i >= 0; i--) {
printf("%d", remainder);
remainder = num % 10;
num /= 10;
}
return 0;
}
在这个代码里,我们首先检查输入是否有效。接着,通过while
循环不断取出num
的每位数字,并记录下当前是第几位。当num
变为0时,表示所有位数都已处理完。最后,用另一个for
循环将逆序后的数字打印出来。
相关推荐


















