用c语言请编写函数fun,其功能是:从键盘输入1个整数x,输出该数的逆序数。
时间: 2024-04-29 20:24:41 浏览: 108
好的,该功能可以通过以下C语言函数代码实现:
```
void fun() {
int x, reversed = 0;
printf("请输入一个整数:");
scanf("%d", &x);
while (x != 0) {
reversed = reversed * 10 + x % 10;
x /= 10;
}
printf("该数的逆序数为:%d", reversed);
}
```
请问还有其他问题吗?
相关问题
用c语言编写一个自定义函数fun( ),其功能是将一个数组逆序输出。在主函数中,从键盘输入一个一维数组中的5个元素,调用该自定义函数, 运行该程序,将此数组逆序输出。
好的,以下是用C语言编写的自定义函数fun(),以及主函数的完整代码:
```c
#include <stdio.h>
// 自定义函数fun(),用于将数组逆序输出
void fun(int arr[], int len) {
int i, temp;
for (i = 0; i < len / 2; i++) {
temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
}
int main() {
int arr[5];
int i;
// 从键盘输入一维数组中的5个元素
printf("请输入5个整数:\n");
for (i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
// 调用自定义函数fun(),将数组逆序输出
fun(arr, 5);
printf("逆序输出结果为:\n");
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
运行该程序,将会输出以下结果:
```
请输入5个整数:
1 2 3 4 5
逆序输出结果为:
5 4 3 2 1
```
其中,自定义函数fun()使用了一个for循环,将数组中的元素逆序排列,然后在主函数中调用该函数,将输入的数组逆序输出。
用c语言,编写一个函数fun(n),求任意整数的逆序数
好的,我来给你写一个求任意整数的逆序数的函数。
函数名:`int fun(int n)`
函数功能:求任意整数的逆序数。
算法思路:将整数n转化为字符串,然后将字符串反转后再转回整数即可得到逆序数。
以下是函数的实现:
```c
#include <stdlib.h>
#include <string.h>
int fun(int n) {
char str[20]; // 定义一个足够大的字符串
sprintf(str, "%d", n); // 将整数n转化为字符串
int len = strlen(str);
for (int i = 0; i < len / 2; i++) { // 反转字符串
char temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
return atoi(str) - n; // 将反转后的字符串转化为整数并返回逆序数
}
```
使用方法:
```c
int n = 12345;
int inverse = fun(n);
printf("%d的逆序数为%d\n", n, inverse);
```
输出结果:
```
12345的逆序数为4321
```
注意:如果输入的数字本身就是回文数,则逆序数为0。如果输入的数字为负数,则逆序数也为负数。
阅读全文