请写c语言程序给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
时间: 2023-08-31 20:44:02 浏览: 161
### 回答1:
我可以为你提供一个简单的C语言程序:#include<stdio.h>
int main()
{
int num, a, b, c, d, e;
printf("请输入不多于5位整数:");
scanf("%d", &num);
if (num<10)
{
printf("这是一位数,它的值为:%d\n", num);
printf("按逆序输出:%d\n", num);
}
else if (num<100)
{
a = num/10;
b = num%10;
printf("这是两位数,它的值分别为:%d和%d\n", a, b);
printf("按逆序输出:%d%d\n", b, a);
}
else if (num<1000)
{
a = num/100;
b = num/10%10;
c = num%10;
printf("这是三位数,它的值分别为:%d、%d和%d\n", a, b, c);
printf("按逆序输出:%d%d%d\n", c, b, a);
}
else if (num<10000)
{
a = num/1000;
b = num/100%10;
c = num/10%10;
d = num%10;
printf("这是四位数,它的值分别为:%d、%d、%d和%d\n", a, b, c, d);
printf("按逆序输出:%d%d%d%d\n", d, c, b, a);
}
else if (num<100000)
{
a = num/10000;
b = num/1000%10;
c = num/100%10;
d = num/10%10;
e = num%10;
printf("这是五位数,它的值分别为:%d、%d、%d、%d和%d\n", a, b, c, d, e);
printf("按逆序输出:%d%d%d%d%d\n", e, d, c, b, a);
}
return 0;
}
### 回答2:
```c
#include <stdio.h>
int main() {
int num, digit, count = 0;
printf("请输入一个不多于5位的整数:");
scanf("%d", &num);
// 计算位数
if (num >= 10000) {
count = 5;
} else if (num >= 1000) {
count = 4;
} else if (num >= 100) {
count = 3;
} else if (num >= 10) {
count = 2;
} else {
count = 1;
}
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");
printf("逆序输出各位数字为:");
while (num > 0) {
digit = num % 10;
printf("%d", digit);
num /= 10;
}
printf("\n");
return 0;
}
```
以上是一个简单的C语言程序,实现了给出一个不多于5位的整数后,求出它的位数、分别输出每一位数字以及按逆序输出各位数字的功能。程序通过获取输入的整数,并使用if-else语句判断其位数,然后使用循环和取余运算进行每位数字的输出。
### 回答3:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个不多于5位的整数:");
scanf("%d", &num);
// 计算位数
int digits = 0;
int temp = num;
while (temp != 0) {
temp /= 10;
digits++;
}
printf("它是%d位数\n", digits);
// 逐位输出
printf("每一位数字为:");
temp = num;
for (int i = digits - 1; i >= 0; i--) {
int digit = temp / pow(10, i);
printf("%d ", digit);
temp %= (int)pow(10, i);
}
printf("\n");
// 逆序输出
printf("按逆序输出的数字为:");
while (num != 0) {
int digit = num % 10;
printf("%d", digit);
num /= 10;
}
printf("\n");
return 0;
}
```
这个程序首先获得用户输入的一个整数,并通过循环计算出它的位数,并输出位数。然后,通过逐位运算,得到每一位的数字并分别输出。最后,利用取模运算逆序输出整数的各位数字。
阅读全文