有参函数
【有返回值】
编写一程序,输入4个数字,输出前两个、后两个和四个数中的最大数。
#include <stdio.h>
int main()
{
float max(float x,float y); //引用max函数
float a[4]; //定义数组a
int i;
float t,u,v;
for(i=0;i<=3;i++)
{
printf("请输入第%d个数字",i+1);
scanf("%f",&a[i]);
}
t=max(a[0],a[1]);
u=max(a[2],a[3]);
v=max(t,u);
printf("前两个数中最大的为%f\n",t);
printf("后两个数中最大的为%f\n",u);
printf("四个数中最大的为%f\n",v);
return 0;
}
float max(float x,float y) //解释max函数的规则
{
return(x>y?x:y); //代替if语句,提高效率
}
无参函数
【无返回值】
函数的嵌套
请编程输入4个整数,并找出其中最大的数。
#include <stdio.h>
int main()
{
int max4(int a,int b,int c,int d);
int a,b,c,d,max;
printf("请输入4个整数:\n");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
max=max4(a,b,c,d);
printf("最大数为%d\n",max);
return 0;
}
int max4(int a,int b,int c,int d)
{
int max2(int a,int b);
return(max2(max2(max2(a,b),c),d));
}
int max2(int a,int b)
{
return(a>b?a:b);
}
函数的递归
1.现有5位同学,第一位同学10岁,第二位比第一位大两岁,第三位比第二位大两岁……编程输出第五位同学的年龄。
#include <stdio.h>
int main()
{
int age(int n);
printf("第五个学生的年龄%d\n",age(5));
return 0;
}
int age(int n)
{
int x;
if(n==1)
{
x=10;
}
else
{
x=age(n-1)+2;
}
return(x);
}
2.用递归法求n!
#include <stdio.h>
int main()
{
int jiecheng(int n);
int n;
printf("请输入一个整数");
scanf("%d",&n);
printf("%d!=%d\n",n,jiecheng(n));
return 0;
}
int jiecheng(int n)
{
int x;
if(n<0)
printf("数据有误\n");
else if(n==0||n==1)
x=1;
else
x=jiecheng(n-1)*n;
return(x);
}