C语言中:从键盘输入一个3位的正整数,编程计算得到它的个位数、十位数和百位数,并输出它的逆序数。例如,从键盘输入123,分别得到数字位1、2和3,然后计算3*100+2*10+1,然后输出结果。
时间: 2024-10-11 09:08:23 浏览: 21
在C语言中,你可以通过以下步骤来实现这个功能:
```c
#include <stdio.h>
int main() {
int num, digit[3], reverse_num = 0;
// 输入3位正整数
printf("请输入一个3位的正整数:");
scanf("%d", &num);
// 提取每一位数字并存储
while (num > 0) {
digit[2] = num % 10; // 个位数
reverse_num = reverse_num * 10 + digit[2]; // 计算逆序数
num /= 10; // 移除最低位
}
// 输出逆序数
printf("逆序数为:%d\n", reverse_num);
return 0;
}
```
在这个程序中,我们首先从用户处获取一个整数,然后使用`%`运算符获取余数(即个位数),并将它添加到逆序数上。接着我们将原数除以10去掉最低位,循环处理直到原数变成0。最后输出逆序数。
相关问题
C语言:从键盘输入一个正整数n, 计算该数的各位数之 和并输出
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
while (n) {
sum += n % 10;
n /= 10;
}
printf("各位数之和为:%d\n", sum);
return 0;
}
```
跟上面的 C++ 代码实现类似,输入一个数字,通过每次取余数和整除10来获取各个位上的数字,然后将他们相加得到最终的和。
c语言:从键盘任意输入一个正整数,计算其各位数字之积,注意正整数的位数不定
好的,可以回答这个问题。以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int num, digit, product = 1;
printf("请输入一个正整数:");
scanf("%d", &num);
while(num > 0)
{
digit = num % 10;
if (digit != 0)
{
product *= digit;
}
num /= 10;
}
printf("各位数字之积为:%d\n", product);
return 0;
}
```
希望能对您有所帮助。
阅读全文