用c语言编写程序,要求如下: 1)编写函数首部为int find(int n)的子函数,其功能是判断整数n的9倍是否为n的反序数,若是则函数返回这个反序数,否则返回0(用if语句)。 2)编写主函数,穷举(用循环)所有的四位数并调用函数find,找出满足上述条件的四位数,将找到的数及其反序数输出。
时间: 2024-01-22 19:21:12 浏览: 75
以下是C语言程序的实现:
```c
#include <stdio.h>
int find(int n) {
int num = n * 9;
int reverse = 0;
while (num > 0) {
reverse = reverse * 10 + num % 10;
num /= 10;
}
if (reverse == n) {
return reverse;
} else {
return 0;
}
}
int main() {
for (int i = 1000; i <= 9999; i++) {
int result = find(i);
if (result != 0) {
printf("%d %d\n", i, result);
}
}
return 0;
}
```
程序中定义了一个名为find的函数,其参数为一个整数n,返回值为n的反向数(如果n的9倍等于n的反序数),否则返回0。函数中,首先计算出n的9倍,然后通过取余和除法来计算反向数,并将计算结果与n进行比较。
主函数中使用循环来穷举所有四位数,并调用函数find来查找符合条件的数,将符合条件的数和其反向数输出。
相关问题
用c语言请编写程序实现如下功能,从键盘输入一个整数 n,计算 n3 并输出结果。要求 n 的输入和结果的输出在主函数中完成, n3 在子函数中计算,主函数调用它。
请看下面的C语言程序实现:
```c
#include <stdio.h>
int cube(int n); // 子函数原型
int main() {
int n, result;
printf("请输入一个整数: ");
scanf("%d", &n);
result = cube(n); // 调用子函数
printf("%d的立方是:%d\n", n, result);
return 0;
}
// 子函数定义
int cube(int n) {
int result;
result = n * n * n;
return result;
}
```
运行程序后,输入一个整数 n,程序就会计算 n 的立方并输出结果。
阅读全文