用c语言写一个函数fun的功能是将两个正整数a、b合并成一个正整数c。具体的合并方式是,将a的十位和个位分别放在c的个位和百位上,将b的十位和个位分别放在c的千位和十位上。
时间: 2023-05-27 08:02:51 浏览: 33
```c
#include <stdio.h>
int fun(int a, int b) {
int c = 0;
c += (a % 10) * 1000; // 将a个位放到c的千位
c += (a / 10 % 10) * 100; // 将a十位放到c的百位
c += (b / 10 % 10) * 10; // 将b十位放到c的十位
c += b % 10; // 将b个位放到c的个位
return c;
}
int main() {
int a, b, c;
scanf("%d %d", &a, &b);
c = fun(a, b);
printf("%d\n", c);
return 0;
}
```
相关问题
利用C语言fun()函数将两个两位数的正整数合并成一个整数)
可以使用以下的C语言代码实现:
```
#include <stdio.h>
int fun(int a, int b)
{
return a * 100 + b;
}
int main()
{
int x = 23, y = 45;
int result = fun(x, y);
printf("合并后的整数为:%d\n", result);
return 0;
}
```
在上述代码中,`fun()`函数将两个两位数的正整数`a`和`b`合并成一个整数。具体来说,它将第一个数`a`乘以100,然后加上第二个数`b`,得到合并后的整数。在`main()`函数中,我们定义了两个两位数的正整数`x`和`y`,然后调用`fun()`函数将它们合并成一个整数,并输出结果。
用c语言 写一个递归函数int fun(int n),将正整数n反转。
以下是用 C 语言编写的递归函数,用于将正整数 n 反转:
```c
#include <stdio.h>
int fun(int n) {
if (n < 10) {
return n;
} else {
int digit = n % 10;
int newNum = fun(n / 10);
while (newNum >= 10) {
newNum /= 10;
}
return digit * power(10, numDigits(newNum)) + newNum;
}
}
int power(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
int numDigits(int n) {
int count = 0;
while (n > 0) {
count++;
n /= 10;
}
return count;
}
int main() {
int n = 12345;
printf("Original number: %d\n", n);
int reversed = fun(n);
printf("Reversed number: %d\n", reversed);
return 0;
}
```
可以看到,该函数使用了三个辅助函数:power 函数用于计算 10 的幂,numDigits 函数用于计算一个数字的位数,以及一个 while 循环,用于将新数字缩小到一位。