编程实现:输入一个不多于5位的正整数,要求:*((1)输出它是几位数 (2)分别输出每一位数字 (3)按逆序输出各位数子,如原数为 321.则应输出123 c程序
时间: 2024-10-12 16:15:48 浏览: 26
在C语言中,可以使用循环结构和取余运算符来实现这个功能。以下是对应的C程序代码:
```c
#include <stdio.h>
#include <string.h> // 为了使用strlen函数
int main() {
int num, digit;
char input[6];
printf("请输入一个不超过5位的正整数:");
fgets(input, sizeof(input), stdin); // 防止用户直接输入换行符
input[strcspn(input, "\n")] = '\0'; // 删除末尾的换行符
num = atoi(input); // 转换字符串到整数
// 输出位数
printf("它有%d位数\n", strlen(input) - 1);
// 分别输出每一位数字
while(num > 0) {
digit = num % 10; // 取余得到最后一位数字
printf("%d", digit);
num /= 10; // 除以10移除最低位
}
printf("\n每位数字:");
// 按逆序输出各位数字
for(int i = strlen(input) - 2; i >= 0; i--) { // 从倒数第二位开始
printf("%d", input[i]);
}
printf("\n逆序输出:");
return 0;
}
```
在这个程序中,我们先读入用户的输入并去除换行符,然后将其转换为整数。接着计算整数的位数并逐位输出。最后通过逆序遍历输入字符串来输出各位数字。
阅读全文