【区别它们01】递归?for循环?迭代?函数?
递归?for循环?迭代?函数?
这是经常让新手搞混的东西,但是多多理解也是能熟练掌握的。
简单说明一下它们。
迭代,就是将,上一次产生的结果当成下一次操作的输入,用循环执行这个过程;
for循环;
函数;就是这个过程
递归;就是调用自身,自身也算一次操作;
------------------------------------------------------------------------
举例;
求n!递归版
#include <stdio.h>
int jishuanc(int x);
int main(int argc, char const *argv[])
{
int s;
printf("Enter a positive integer:\n");
scanf("%d",&s);
jishuanc(s);
printf("%d! is %d\n",s,jishuanc(s));
return 0;
}
//递归
int jishuanc(int x)
{
if (x == 0 )
{
return 1;
}
else
return x*jishuanc(x-1);
}
------------------------------------------------
求n!函数版
#include<stdio.h>
#include<stdlib.h>
int jishuanc(int n)
{ int i;
double sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum*i;
printf("%d!=%lf",n,sum);
printf("\n");
}
int jishuanc(int n);
int main()
{ int n,sum;
jishuanc(n);
return 0;
}