c语言,帮我看看错哪了,我怎么自己发现不了错误。
答案:1 悬赏:30 手机版
解决时间 2021-11-22 03:06
- 提问者网友:wodetian
- 2021-11-21 08:37
c语言,帮我看看错哪了,我怎么自己发现不了错误。
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-11-21 09:46
不确定你要实现什么功能
所以不知道逻辑上是不是有问题
不过printf的时候 用&p肯定是不对的 要用p
如果是阶乘和
那么第一个fun(i)调用没必要
fun求阶乘 求的不对。追问
忘了发了追答第一个fun的调用没必要,另外你fun是要求阶乘的,这个函数不对
你自己改一下 或者把代码发上来 不要用图片,直接发代码,我给你改追问#include
long fun(int i);
int n,i;long p=0,q=1;
int main(void)
{
printf("input n:\n");
scanf("%d",&n);
for(i=n;i>=1;i--){
fun(i);
p = p + fun(i);
}
printf("%ld",p);
}long fun(int i){
if(i>0){
q=q*i;i--;
} return q;
}追答#include
long fun(int i);
int main(void)
{
int n,i;
long p=0;
printf("input n:\n");
scanf("%d",&n);
for(i=n;i>=1;i--){
p = p + fun(i);
}
printf("%ld",p);
}
long fun(int i){
long q=1;
while(i>0){
q=q*i;
i--;
}
return q;
}追问#include
long fun(int i);
int main(void)
{ int n,i;long p=0;
printf("input n:\n");
scanf("%d",&n);
for(i=n;i>=1;i--){
p = p + fun(i); }
printf("%ld",p)
}
long fun(int i){
long q=1;
while(i>0){
q=q*i;
i--;
}
return q;
}当把fun中的while改为if后,怎么输入3 两个结果就不一样了
所以不知道逻辑上是不是有问题
不过printf的时候 用&p肯定是不对的 要用p
如果是阶乘和
那么第一个fun(i)调用没必要
fun求阶乘 求的不对。追问
忘了发了追答第一个fun的调用没必要,另外你fun是要求阶乘的,这个函数不对
你自己改一下 或者把代码发上来 不要用图片,直接发代码,我给你改追问#include
long fun(int i);
int n,i;long p=0,q=1;
int main(void)
{
printf("input n:\n");
scanf("%d",&n);
for(i=n;i>=1;i--){
fun(i);
p = p + fun(i);
}
printf("%ld",p);
}long fun(int i){
if(i>0){
q=q*i;i--;
} return q;
}追答#include
long fun(int i);
int main(void)
{
int n,i;
long p=0;
printf("input n:\n");
scanf("%d",&n);
for(i=n;i>=1;i--){
p = p + fun(i);
}
printf("%ld",p);
}
long fun(int i){
long q=1;
while(i>0){
q=q*i;
i--;
}
return q;
}追问#include
long fun(int i);
int main(void)
{ int n,i;long p=0;
printf("input n:\n");
scanf("%d",&n);
for(i=n;i>=1;i--){
p = p + fun(i); }
printf("%ld",p)
}
long fun(int i){
long q=1;
while(i>0){
q=q*i;
i--;
}
return q;
}当把fun中的while改为if后,怎么输入3 两个结果就不一样了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯