#include <stdio.h> /************found************/ int fun (n) { int c; /************found************/ if(n=1) c = 10 ; else c= fun(n-1)+2; return(c); } main() { int n; printf("Enter n : "); scanf("%d",&n); printf("The result : %d\n\n", fun(n)); }程序改错,用C语言
时间: 2023-07-01 22:23:51 浏览: 111
修改后的程序如下:
```c
#include <stdio.h>
int fun(int n)
{
int c;
if(n == 1)
c = 10;
else
c = fun(n-1) + 2;
return c;
}
int main()
{
int n;
printf("Enter n: ");
scanf("%d", &n);
printf("The result: %d\n", fun(n));
return 0;
}
```
主要问题点:
1. 函数 `fun` 的参数 `n` 没有指定类型;
2. 在 `if` 语句中应该使用双等号判断相等,而不是单等号赋值;
3. 函数 `fun` 的返回值缺少返回类型;
4. `main` 函数应该有返回值,并在函数结尾使用 `return 0` 表示正常退出。
相关问题
#include <stdio.h> /************found************/ int fun (n) { int c; /************found************/ if(n=1) c = 10 ; else c= fun(n-1)+2; return(c); } main() { int n; printf("Enter n : "); scanf("%d",&n); printf("The result : %d\n\n", fun(n)); }用C语言
这段代码的作用是计算一个数列的第n项的值,其中数列的递推式为:a(n) = a(n-1) + 2,其中a(1) = 10。下面是完整代码:
```
#include <stdio.h>
int fun(n) {
int c;
if (n == 1)
c = 10;
else
c = fun(n - 1) + 2;
return c;
}
int main() {
int n;
printf("Enter n: ");
scanf("%d", &n);
printf("The result: %d\n\n", fun(n));
return 0;
}
```
在主函数中,首先要求用户输入一个整数n,然后调用函数fun计算数列的第n项的值,并输出结果。
)给定程序 c10-2-2.c 的功能是:求两个正整数 m,n 之间的非素数之和(包含 m 和 n)。程 序运行结果如图 10-5 所示,请把程序补充完整。 图 10-5 程序 c10-2-2.c 的运行结果 /* c10-2-2.c */ #include <math.h> #include <stdio.h> /************found************/ _______(1)________ int main() { int m=2,n=20,i,s; s = 0; for ( i=m; i<=n; i++) /************found************/ if( ___(2)___) s += i; printf("Sum is: %d\n",s); return 0; } /************found************/ int prime( __(3)__) { int k,j; k=sqrt(m); for (j=2;j <= k; j++) if (m % j == 0) break; if( j<=k ) return 0; else return 1 ; }
程序的完整代码如下:
```c
/* c10-2-2.c */
#include <math.h>
#include <stdio.h>
int prime(int);
int main() {
int m = 2, n = 20, i, s;
s = 0;
for (i = m; i <= n; i++) {
if (!prime(i)) s += i;
}
printf("Sum is: %d\n", s);
return 0;
}
int prime(int m) {
int k, j;
k = sqrt(m);
for (j = 2; j <= k; j++)
if (m % j == 0) break;
if (j <= k)
return 0;
else
return 1;
}
```
程序的功能是求两个正整数 m,n 之间的非素数之和(包含 m 和 n)。其中,prime 函数用于判断一个数是否为素数,如果是素数返回 1,否则返回 0。在主函数中,通过循环从 m 遍历到 n,对于每个数判断是否为素数,如果不是素数则加到 s 变量中。最终输出 s 的值。
阅读全文