求解下面一段C语言程序每一句表达的意思,人家给的程序,但是不懂什么意思呀,求详细解释,,,谢谢,急急急急急

一头牛从弟4年开始每年生育一头牛,按照这个规律若干年后有多少头牛,程序如下,
没看懂,求解
#include<stdio.h>

int f(int n)
{
int m;

if(n<4)
m=1;
else
m=f(n-1)+f(n-3);
return(m);
}

main()
{
int n,m;
printf("请输入年数:");
scanf("%d",&n);
m=f(n);
printf("有%d头牛\n",m);
}

#include<stdio.h>//头文件

int f(int n)//定义一个函数
{
int m;//定义一个变量

if(n<4)//条件
m=1;//变量赋值
else//除了n=4,之外的其它情况
m=f(n-1)+f(n-3);
return(m);
}

main()//程序的开始,必须的
{
int n,m;
printf("请输入年数:");//输出
scanf("%d",&n);//输入
m=f(n);
printf("有%d头牛\n",m);
}追问

你的说的我懂,我的意思是问,中间最重要的那个程序的含义是什么

追答

因为从第四年才开始生育,所以小于4都是一头,f(n-1)+f(n-3)与数学的某一数列是相似的,不过记不清楚了,f(n-1)是最开始那头牛,一年生一次,而f(n-3)新生的牛隔了3年就会生产

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-05
这么简单,自己看谭浩强那本C语言人们·入门,很快就能看懂每一句话了。
第2个回答  2011-11-05
①看懂不管什么代码都有一些非常有意思的技巧

②我假设我现在从来没看过冒泡排序,和你一起分析一下这代码

③int a[N]={9,8,3,7,5,2,6,1}; //初始化了乱序数组
int i,j,temp; //嗯?i,j,temp干嘛的?我暂时不知道,因为我还没往下看,我先记着有这几个变量
for (j=0;j
相似回答