#include<stdio.h> long fun(long num); int main() { long n; scanf("%ld",&n); printf("%ld\n",fun(n)); return 0; } /* 请在这里填写答案 */
时间: 2024-01-17 22:03:49 浏览: 79
这段代码缺少函数`fun`的实现部分,需要补充如下代码:
```c
long fun(long num) {
if (num <= 0)
return 0;
long sum = 0;
for (long i = 1; i <= num; i++) {
if (i % 2 == 0)
sum += i * i;
else
sum += i * i * i;
}
return sum;
}
```
该函数的作用是计算从1到`num`的奇数项立方和与偶数项平方和的和,并将结果返回。在`main`函数中,先读入一个整数`n`,然后调用`fun`函数计算结果并输出。
相关问题
功能:编写函数fun求1!+2!+3!+ ...... +n!的和,在main函 函数。
```c
#include <stdio.h>
long factorial(int num) {
if (num == 0 || num == 1) {
return 1;
} else {
return num * factorial(num - 1);
}
}
long fun(int n) {
long sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
return sum;
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("结果为:%ld", fun(n));
return 0;
}
```
用c语言实现:利用主子函数实现:将长整型数中位数为偶数的数字依次取出,构成一个新数返回。例如:长整型数s=87653142时,则返回的数为:8642。子函数fun的原型为:long fun(long s)。
好的,我来为您实现这个功能。以下是使用C语言编写的代码,包括主函数和子函数fun:
```c
#include <stdio.h>
// 子函数fun的原型
long fun(long s);
int main() {
long s, result;
printf("请输入一个长整型数: ");
scanf("%ld", &s);
result = fun(s);
printf("处理后的结果为: %ld\n", result);
return 0;
}
// 子函数fun的实现
long fun(long s) {
long new_num = 0;
int position = 1;
while (s > 0) {
int digit = s % 10;
if ((digit % 2) == 0) {
new_num += digit * position;
position *= 10;
}
s /= 10;
}
return new_num;
}
```
这段代码的工作原理如下:
1. 主函数中,我们首先提示用户输入一个长整型数,然后调用fun函数处理这个数。
2. fun函数使用一个while循环来遍历输入的长整型数的每一位:
- 使用取模运算(%)获取当前位的数字。
- 检查这个数字是否为偶数。
- 如果是偶数,将它乘以相应的位置(position)后加到new_num中。
- 更新position为原来的10倍,为下一个可能的数字做准备。
- 使用除法运算(/)去掉已经处理过的最后一位数字。
3. 循环结束后,new_num中就包含了所有偶数位数字按原顺序组成的新数。
4. 最后,fun函数返回这个新组成的数。
5. 主函数中,我们打印出处理后的结果。
使用这段代码,当输入87653142时,输出将会是8642,正如题目中给出的例子。
阅读全文