#include stdio.h
成都创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、做网站、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
int Max(int a, int b); // 定义函数Max
void main() //无返回值主函数
{
int x, y, z; //定义整型变量x,y,z
printf("Please input two integers : "); //让用户输入两个整数,务必要用英文输入法输入“,”
scanf("%d,%d",x, y); //将用户输入的整型数分别存放到x,y中
if(x==y) //判断x是否等于y,是则输出“这两个整数相等”
{
printf("The two integers are equal!");
}
else //否则,将x,y的值放入实参中并执行Max函数中的内容
{
z = Max(x, y); //实参
printf("The biger number is %d\n", z); //向屏幕输出较大的数
}
}
int Max(int a, int b) //形参
{
int c = 0; //定义整型变量c
c = ab?a:b; //用三目运算符将a,b值中大的赋值给c
return c; //返回c的值
}
//望采纳^_^
第一题:求类似斐波那契数列中的第n个数
先来看下什么是斐波那契数列:
指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n=3,n∈N*)
数列中的每个数,都等于前两个数字之和。第一数和第二数规定为1.
回到图中的程序,n=2时,返回2,那么就是将第一个和第二个数规定为2。
即:
fib(1)=2, fib(2)=2
根据公式:
fib(3) = fib(1)+fib(2)=2+2=4
代码的用递归实现,若不懂递归,可google之或百度之。
第二题:
main函数里的变量a,b,c都没有用上,迷惑你用的。回到d
d=f(f(3,4), f(3,5))
再看f这个函数
f(3,4) = f(x,y)=(y-x)*x=(4-3)*3=3
f(3,5) = (5-3)*3=6
因此,d=f(f(3,4), f(3,5))=f(3,6)=(6-3)*3=9
第三题 这个函数里面的赋值写法我还没见过,容我再想想。
fun中的x是静态局部变量,只初始化一次。
调用fun(1)时,开始x=1,y=1,执行x=x+y;后x=2,所以输出 2。
调用fun(2)时,开始x=2(因为x是静态局部变量,保持为上次调用fun后的值),y=2,执行x=x+y;后x=4,所以输出 4。
所以,最后的输出是 2 4。