谁会C语言,帮我看看这个编程哪里错了,在线等,急

2024-12-27 19:04:09
推荐回答(5个)
回答1:

1 首先不知道你使用c的那个开发环境。如果只是简单学习c语言,和做一些简单的c语言应用。
建议使用MinGW Developer Studio2.05 这个IDE集成开发环境。20M。gcc的一套东西。
2 上述的错误有那么几个
a) 在函数 factor 中,你的递归处理,函数名和返回值都没对。
应该为else f=n*factor(n-1);
return f;
b) 在main函数中,Printf ("%d" !=%12.0f",n, factor (n) );
改写为 printf ("%d != %12.0f",n,factor(n) );
3 静下心来看编译时候报错的内容,看多了,就那么几个的。要有耐心。

--- 下面为能跑的完整代码:
#include
float factor(int n)
{ float f;
if (n==1||n==0)
f=1;
else
f=n*factor(n-1);
return f;
}
int main()
{
int n;
scanf ("%d",&n);
printf ("%d != %12.0f",n,factor(n) );
return 0;
}

回答2:

你输入时没有注意,有些地方输入有误
#include "stdio.h"
float factor(int n)
{ float f;
if (n==1||n==0)
f=1;
else
f=n*factor(n-1);
return (f);
}

void main()
{ int n;
scanf ("%d",&n);
printf ("%d !=%12.0f",n, factor(n) );
return;
}

回答3:

#include"stdio.h"
float factor(int n)
{ float f;
if (n==1||n==0)
f=1;
else f=n*factor(n-1);
return (f);
}
void main()
{ int n;
scanf ("%d",&n);
printf ("%d!=%12.0f",n, factor (n) );
}
已修改好,小错误太多了,自己多注意一下,望采纳!

回答4:

#include"stdio.h"
float factor(int n)
{ float f;
if (n==1||n==0)
f=1;
else f=n*factor(n-1);
return (f);
}
void main()
{ int n;
scanf ("%d",&n);
printf ("%d!=%2.0f",n, factor (n) );
}

回答5:

菲波那契数列的求和函数,你的程序如果N输入过大的话就会超出运算范围,因为函数是递归调用的