用C语言写一段循环结构代码,输入一个不多于9位的正整数,要求一,逆序输出各位数字,二,输出它是几位数
时间: 2024-11-13 10:22:53 浏览: 27
python 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 (示例)
5星 · 资源好评率100%
你可以使用C语言的for循环和while循环结合来实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char input[10];
int num, remainder, digit_count = 0;
printf("请输入一个不超过9位的正整数: ");
scanf("%s", input); // 输入字符串
// 检查输入是否合法,并计算位数
for (num = strlen(input) - 1; num >= 0 && input[num] != '\0'; num--) {
if (input[num] >= '0' && input[num] <= '9') {
digit_count++;
}
}
printf("\n输入的数有%d位:\n", digit_count);
// 逆序输出各位数字
while (digit_count > 0) {
remainder = input[--num] - '0';
printf("%d", remainder);
if (digit_count > 1) {
printf(", ");
} else {
printf("\n");
}
digit_count--;
}
return 0;
}
```
在这个程序中,首先读取用户输入的字符串,然后通过遍历字符串的倒序,检查每个字符是否是数字并累加位数。接着,使用while循环逆序打印出每位数字。
阅读全文