叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
sanf() 里面加\n 哪教的? 就算去掉\n 你输入的时候也必须输入n=** (**代表某数字)才能正常运行
难道scanf("%d",&num); 不行?
前面那个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楼的简单,惭愧~~