1、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如:原数为321,应输出123用if函数C语言编程
时间: 2023-11-14 22:31:34 浏览: 68
求给定正整数的位数和并逆序打印各位数
以下是使用 if 语句实现该功能的C语言代码:
```
#include <stdio.h>
int main() {
int num, digit, count = 0;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
// 计算位数
if (num >= 10000) {
count = 5;
} else if (num >= 1000) {
count = 4;
} else if (num >= 100) {
count = 3;
} else if (num >= 10) {
count = 2;
} else {
count = 1;
}
printf("该数是%d位数\n", count);
// 分别打印每一位数字
printf("每一位数字分别为:\n");
int temp = num;
for (int i = count; i > 0; i--) {
digit = temp / (int)pow(10, i - 1);
temp = temp % (int)pow(10, i - 1);
printf("%d ", digit);
}
// 按逆序打印各位数字
printf("\n逆序输出各位数字为:\n");
while (num > 0) {
digit = num % 10;
printf("%d ", digit);
num = num / 10;
}
return 0;
}
```
输入一个正整数,程序将会输出该数的位数,分别打印每一位数字,并按逆序打印各位数字。
阅读全文