C语言问题,急!!!!要
#include<stdio.h>main(){doublefun(intn);intn;scanf("%d",&n);printf("sum=%f",fun(n));}...
#include <stdio.h>
main()
{double fun(int n);
int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
}
double fun(int n)
{double sum=0.0;
int i;
for(i=1;i<=n;i++)
sum+=1.0/i;
return sum;
}
#include <stdio.h>
double fun(int n)
{double sum=0.0;
int i;
for (i=1;i<=n;i++)
sum+=1.0/i;
return sum;
}
main()
{int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
} 这两个题目我有很多不明白的地方,请高手教我一下。QQ360028790。 展开
main()
{double fun(int n);
int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
}
double fun(int n)
{double sum=0.0;
int i;
for(i=1;i<=n;i++)
sum+=1.0/i;
return sum;
}
#include <stdio.h>
double fun(int n)
{double sum=0.0;
int i;
for (i=1;i<=n;i++)
sum+=1.0/i;
return sum;
}
main()
{int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
} 这两个题目我有很多不明白的地方,请高手教我一下。QQ360028790。 展开
5个回答
展开全部
这是一个函数调用问题
第一个是属于函数内部调用,第二个是函数外部调用
程序都是从main()开始执行的
看第一个程序从定义一个函数,定义表达式的最后一项,并输入最后一项;然后到输出语句,首先输出"sum="后遇到"%f"即printf后面的参数fun(n),遇到fun(n)之后,因为fun(n)个函数,所以就要转到下面的函数下执行。最后求得fun(n)的值,并且通过return语句返回到main()中;随即可以输出"%f"所代表的值了。
第二个就是外部调用;一样从main()开始执行一直到fun(n)是再返回到上面所定义的函数中去,过程和内部函数一样
只不过外部函数得在main()之前定义,之后就可以省去在main()里面定义所要调用的函数。
第一个是属于函数内部调用,第二个是函数外部调用
程序都是从main()开始执行的
看第一个程序从定义一个函数,定义表达式的最后一项,并输入最后一项;然后到输出语句,首先输出"sum="后遇到"%f"即printf后面的参数fun(n),遇到fun(n)之后,因为fun(n)个函数,所以就要转到下面的函数下执行。最后求得fun(n)的值,并且通过return语句返回到main()中;随即可以输出"%f"所代表的值了。
第二个就是外部调用;一样从main()开始执行一直到fun(n)是再返回到上面所定义的函数中去,过程和内部函数一样
只不过外部函数得在main()之前定义,之后就可以省去在main()里面定义所要调用的函数。
展开全部
#include <stdio.h>
main()
{double fun(int n); /*函数声明,由于fun子函数是在主函数后面定义的,所以要在主函数李声明*/
int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
}
double fun(int n)
{double sum=0.0;
int i;
for(i=1;i<=n;i++)
sum+=1.0/i;
return sum;
}
这程序的功能的是:你输入一个n,程序计算1+1/2+1/3+.......+1/n的结果
#include <stdio.h>
double fun(int n)
{double sum=0.0;
int i;
for (i=1;i<=n;i++)
sum+=1.0/i;
return sum;
}
main()
{int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
这个程序和上面的剩下功能一样,就是子函数是在主函数前面定义的,所以主函数里不需要再声明了,即主函数里不需要写double fun(int n);了
还有什么不明白我可以帮你看看,呵呵~~
main()
{double fun(int n); /*函数声明,由于fun子函数是在主函数后面定义的,所以要在主函数李声明*/
int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
}
double fun(int n)
{double sum=0.0;
int i;
for(i=1;i<=n;i++)
sum+=1.0/i;
return sum;
}
这程序的功能的是:你输入一个n,程序计算1+1/2+1/3+.......+1/n的结果
#include <stdio.h>
double fun(int n)
{double sum=0.0;
int i;
for (i=1;i<=n;i++)
sum+=1.0/i;
return sum;
}
main()
{int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
这个程序和上面的剩下功能一样,就是子函数是在主函数前面定义的,所以主函数里不需要再声明了,即主函数里不需要写double fun(int n);了
还有什么不明白我可以帮你看看,呵呵~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
倒,哪里不明白啊,说下啊,这样怎么回答你
这两个函数不就是用来计算1+1/2+1/3+1/4+1/5+……+1/n吗?
第一个程序由于主函数main()中调用的函数fun()在main()后面定义,所以要在主函数中进行声明,也就是 double fun(int n);这一句。如果没有这一句,那么函数main()中遇到调用fun()时就认为它是一个返回值为int型的函数,这与你的初衷是不符的,因为你想返回的是double型的。
第二个程序由于fun()是在main()之前定义的,所以就不需要再在main()中声明了。
这两个函数不就是用来计算1+1/2+1/3+1/4+1/5+……+1/n吗?
第一个程序由于主函数main()中调用的函数fun()在main()后面定义,所以要在主函数中进行声明,也就是 double fun(int n);这一句。如果没有这一句,那么函数main()中遇到调用fun()时就认为它是一个返回值为int型的函数,这与你的初衷是不符的,因为你想返回的是double型的。
第二个程序由于fun()是在main()之前定义的,所以就不需要再在main()中声明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学过C语言已经很多年,弄这玩意儿细心就好了,1是1 、2是2,程序完全是按自己编写的方式运行的
运行结果错了就说明自己还有问题没考虑到,细心就好
运行结果错了就说明自己还有问题没考虑到,细心就好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那行不明白?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询