
叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
前面那个IF是多余了但是也不会错啊,运行一闪而过
#include<stdio.h>
main()
{
int num;
scanf("\nn=%d",&num);
printf("\n%d",age(num));}
        int age(int n)
{     int i,z,f[100];
  if(n==1)
   z=1;
  else
  {   f[0]=1;
   for(i=1;i<=n-1;i++)
    f[i]=f[i-1]+2;
   z=f[n-1];
  }
  return(z);
  
} 
scanf("\nn=%d",&num);→scanf("%d",&num);
printf("\n%d",age(num));  后面加个getch();
还有 在包含头文件完 声明下你定义的函数

看了这么多帖子,我觉得大家都没有掌握好递归函数,
其实递归函数理解起来有点困难,但写起来很容易.
另外递归函数的意思是在函数定义过程中可以调用自身.
要计算五个学生的年龄,应该在主函数中调用五次,
而不是在递归函数中用数组来做.这样你甚至可以求第100个学生的年龄.
具体代码如下:
#include<stdio.h>
int age(int n)
{
  if(n==1) return (10);
  return(age(n-1)+2);
}
main()
{
  int i;
  for(i=1;i<6;i++)
      printf("%d\t",age(i));
  getch();
 }
够简单吧,现在你会计算第100个学生的年龄了吗?
#include<stdio.h>
int age(int num);
main()
{
int num; 
int z;
printf("Please input the num:\n");
scanf("%d",&num);
printf("The num entered is %d\n",num);
z=age(num);
printf("The result is %d\n",z);
return z;
}
int age(int num){
 int z;
 if(num!=1){
  z=age(num-1)+2;
  return (z);
 }
 else return 10;
}
不如18楼的简单,惭愧~~