编写一个c语言程序这道题要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,则应输出123。
时间: 2024-03-22 16:40:21 浏览: 14
好的,下面是一个 C 语言程序,它可以完成你的要求:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
// 计算整数的位数
int count = 0, temp = num;
while (temp != 0) {
count++;
temp /= 10;
}
printf("该整数是 %d 位数。\n", count);
// 分别打印每一位数字
printf("每一位数字分别是:");
int digit;
for (int i = count - 1; i >= 0; i--) {
digit = num / (int)pow(10, i) % 10;
printf("%d ", digit);
}
printf("\n");
// 按逆序打印各位数字
printf("按逆序打印各位数字:");
while (num != 0) {
printf("%d", num % 10);
num /= 10;
}
printf("\n");
return 0;
}
```
程序首先要求输入一个整数,然后通过循环计算该整数的位数,接着通过循环和数学计算分别打印出每一位数字,最后再通过循环按逆序打印出各位数字。在代码中使用了 `pow()` 函数来计算 10 的幂次方,需要包含 `math.h` 头文件。希望对你有所帮助。