c语言输入一个非负整数,输出这个数的倒序数。
时间: 2024-02-25 08:54:33 浏览: 33
好的,这个问题很简单,下面是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int n, reverse = 0;
printf("请输入一个非负整数:");
scanf("%d", &n);
while (n > 0) {
reverse = reverse * 10 + n % 10;
n /= 10;
}
printf("该数的倒序数为:%d\n", reverse);
return 0;
}
```
代码中,我们使用了一个 while 循环,每次将 n 的末位取出,加到 reverse 变量的末尾,然后将 n 除以 10,继续取下一位,直到 n 变为 0。最后输出 reverse 变量的值,即为原数字的倒序数。
相关问题
用C语言 输入一个非负整数输出他的八进制十六进制十进制
您好,可以使用以下代码实现:
```
#include <stdio.h>
int main() {
unsigned int num;
printf("请输入一个非负整数:");
scanf("%u", &num);
printf("八进制:%o\n", num);
printf("十六进制:%X\n", num);
printf("十进制:%u\n", num);
return ;
}
```
输入一个非负整数后,程序会输出它的八进制、十六进制和十进制表示。希望能对您有所帮助。
c语言计算一个非负整数位数的函数,返回非负整数的位数
可以使用循环来计算非负整数的位数,每循环一次,将原数除以10,直到结果小于10为止,累加循环次数即可得到位数。以下是一个简单的C语言实现:
```c
int count_digits(unsigned int num) {
int digits = 1; // 至少有一位数
while (num >= 10) { // 当num大于等于10时,继续循环
num /= 10;
digits++;
}
return digits;
}
```
其中,`num`为输入的非负整数,`digits`为计算得到的位数,使用 `while` 循环进行迭代。在循环中,每次将 `num` 除以10,直到 `num` 小于10为止,每除一次,`digits`就加1。最终返回 `digits` 即为计算得到的位数。