氮循环的重要意义:c语言算法 不是很懂 好心人指点下

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 20:07:33
#include <stdio.h>
double fac(int n)
{double f;
if(n<0){printf("n<2,dataerror!");f=-1;}
if(n>50){printf("n>50,dataerror!"); }
if(n==1)return(1);
else
f=fac(n-1)*n;
return(f);
}
main()
{int n;
double y;
printf("\n input a integer number: \n");
scanf("%d",&n);
y=fac(n);
printf("%d!=%15.0f",n,y);
getch();
就这个了 谢谢了 我只有可怜的5分!
解释啊

#include <stdio.h>
double fac(int n) //进行一系列运算的fac函数
{
double f;
if(n<0){printf("n<2,dataerror!");f=-1;} //如果n<0输出n<2,dataerror!并赋-1给f(养成习惯"="是赋值符,"=="才是等号)
if(n>50){printf("n>50,dataerror!"); } //如果n>50输出n>50,dataerror!
if(n==1)return(1); //如果n==1直接返回1
else
f=fac(n-1)*n; //否则执行f等于(n-1)乘与n,这里调用fac()自己调自己就是递归
return(f); //返回f
}
main() //程序主入口点
{
int n;
double y;
printf("\n input a integer number: \n");
scanf("%d",&n); //从键盘接收一个整数n
y=fac(n); //把n交给fac函数处理,处理后的结果赋给y
printf("%d!=%15.0f",n,y); //输出n的阶乘=y
getch();//等待输入任意字符退出程序
}//少了一个"}",要养成细心的习惯
//祝你成功

main() 后面的这些是主程序

{int n;
double y; 首先是定义n和y

input a integer number: 在界面上会显示这句话

scanf("%d",&n); 等待你输入数字,也就是n

y=fac(n); 调用这个函数,这个函数是你上面定义的
也就是
double fac(int n)
{double f;
if(n<0){printf("n<2,dataerror!");f=-1;}
if(n>50){printf("n>50,dataerror!"); }
if(n==1)return(1);
else
f=fac(n-1)*n;
return(f);
}

printf("%d!=%15.0f",n,y); 经过函数运算后,显示的是n=y(n的值是你自己定义的,y是根据n的值计算出来的)