用C语言输入一个正整数,求出他是几位数,分别输出每一位数字,按逆序输出各位数字
时间: 2023-12-23 07:03:35 浏览: 436
好的,这是一个比较常见的问题,下面是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
// 计算位数
while (num != 0) {
count++;
num /= 10;
}
printf("该数是 %d 位数\n", count);
// 逆序输出各位数字
printf("各位数字为:");
while (count > 0) {
printf("%d ", num % 10);
num /= 10;
count--;
}
printf("\n");
return 0;
}
```
运行程序后,输入一个正整数,程序会先计算出它是几位数,然后按逆序输出每一位数字。比如输入12345,程序会输出:
```
请输入一个正整数:12345
该数是 5 位数
各位数字为:5 4 3 2 1
```
相关问题
C语言输入一个正整数求出它是几位数分别输出每一位数按逆序输出各位数字
这是一个C语言程序,目的是输入一个正整数,然后求出它是几位数,分别输出每一位数,最后按逆序输出各位数字。程序首先通过scanf()函数获取用户输入的数字,然后使用while循环和取模运算符%来逆序输出每一位数字,同时使用计数器i来记录数字的位数。接着,程序使用pow()函数计算出10的i-1次方,然后使用while循环和除法运算符/来正序输出每一位数字。
代码示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
long long num;
printf("请输入数字:");
scanf("%lld", &num);
long long m;
m = num;//保存num数据用于后面正序输出
int i=0;
int temp = 0;
int sum = 0;
if (num == 0) {
printf("位数为:1\n");
printf("逆序为:0");
printf("正序为:0");
return 0;
}
printf("逆序输出为:");
if (num < 0) {
printf("-");
num = -num;
}
while (num!=0) {
temp = num % 10;
printf("%d", temp);
num/=10;
i++;
}
printf("\n位数为:%d", i);//走完num为0
num = m;
int power = (int)pow(10, i - 1);
printf("\n正序输出为:");
if (num < 0) {
printf("-");
num = -num;
}
while (num != 0) {
sum = num /power;
printf("%3d",sum);
num %= power;
power /= 10;
}
return 0;
}
```
用C语言输入一个正整数,求出他是几位数,分别输出每一位数字,用顺序和逆序分别输出各位数字
好的,下面是C语言的代码实现,其中顺序输出和逆序输出各位数字的方法分别为正常输出和使用数组存储后倒序输出:
```c
#include <stdio.h>
int main() {
int num, count = 0, i;
printf("请输入一个正整数:");
scanf("%d", &num);
// 计算位数
int temp = num;
while (temp != 0) {
count++;
temp /= 10;
}
printf("该数是 %d 位数\n", count);
// 顺序输出各位数字
printf("各位数字为(顺序):");
for (i = 1; i <= count; i++) {
printf("%d ", num % 10);
num /= 10;
}
printf("\n");
// 逆序输出各位数字
int digits[count];
for (i = 0; i < count; i++) {
digits[i] = num % 10;
num /= 10;
}
printf("各位数字为(逆序):");
for (i = count - 1; i >= 0; i--) {
printf("%d ", digits[i]);
}
printf("\n");
return 0;
}
```
运行程序后,输入一个正整数,程序会先计算出它是几位数,然后按顺序输出每一位数字和按逆序输出每一位数字。比如输入12345,程序会输出:
```
请输入一个正整数:12345
该数是 5 位数
各位数字为(顺序):5 4 3 2 1
各位数字为(逆序):1 2 3 4 5
```
阅读全文