给出一个不多于10位数的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。(利用数组完成)
时间: 2023-04-27 15:04:58 浏览: 131
输入一个不多于10位数的正整数,求出它是几位数,并分别打印出每一位数字,最后按逆序打印出各位数字。可以使用数组来完成。
示例输入:123456789
示例输出:
这是10位数。
1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1
相关问题
给一个不多于5位数的正整数,要求:①求出它是几位数;②分别输出每一个数字;③按逆序输出各位数字,用c语言
#include<stdio.h>
int main()
{
int num, digit, count = 0;
printf("请输入一个不多于5位数的正整数:");
scanf("%d", &num);
int temp = num; // 用temp变量存储原数,方便后面逆序输出
while (temp != 0) // 计算数字的位数
{
count++;
temp /= 10;
}
printf("它是%d位数\n", count);
printf("每一位数字分别是:");
for (int i = count; i >= 1; i--) // 逆序输出每一位数字
{
digit = num / (int)pow(10, i-1) % 10;
printf("%d ", digit);
}
printf("\n逆序输出各位数字为:");
while (num != 0) // 逆序输出各位数字
{
printf("%d", num % 10);
num /= 10;
}
return 0;
}
C语言编写 给出一个不多于5位数的正整数,要求:①求出它是 几位数;②分别输出每一位数字;③按逆序输出各位 数字,如原数是123,应输出321。
在C语言中,我们可以使用循环结构和取模运算符`%`来实现这个需求。这里是一个简单的程序示例:
```c
#include <stdio.h>
int main() {
int num, digit;
// 输入正整数
printf("请输入一个不超过5位数的正整数: ");
scanf("%d", &num);
// 检查输入的数是否合法
if (num <= 0 || num >= 10000) {
printf("输入错误,请输入1到9999之间的正整数。\n");
return 1;
}
// 计算位数并输出每一位数字
int position = 1;
while (num > 0) {
digit = num % 10;
printf("第%d位数字是:%d\n", position++, digit);
num /= 10;
}
// 逆序输出每位数字
printf("逆序输出是: ");
while (position > 1) {
digit = num % 10;
printf("%d", digit);
num /= 10;
position--;
}
printf("%d\n", num); // 最低位数字无需除法
return 0;
}
```
在这个程序中,我们首先获取用户输入的数字,然后通过`while`循环计算每一位数字,并逐个输出。同时,在逆序输出部分,也使用了一个`while`循环,从最高位开始向下取余数。
阅读全文
相关推荐














