第七章用函数实现模块化程序设计
##例7.1想输出以下结果,用函数调用实现。
******************
How do you do!
******************
# include<stdio.h>
int main()
{
void print_star();
void print_message();
print_star();
print_message();
print_star();
return 0;
}
void print_star()
{
printf("******************\n");
}
void print_message()
{
printf("How do you do!\n");
}
##例7.2输入两个整数,要求输出其中较大者。要求用函数来找到大数。
(1)先编写max函数:
int max(int x,int y)
{
int z;
z=x>y?x:y;
return(z);
}
(2)在编写主函数
# include<stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
printf("please enter two integer numbers:");
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
##例7.3将例7.2稍作改动,将在max函数中定义的变量z改为float型。函数返回值的类型与指定的函数类型不同,分析其处理方法。
# include<stdio.h>
int main()
{
int max(float x,float y);
float a,b;
int c;
scanf("%f,%f,",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
int max(float x,float y)
{
float z;
z=x>y?x:y;
return(z);
}
##例7.4输入两个实数,用一个函数求出它们之和。
# include<stdio.h>
int main()
{
float add(float x,float y);
float a,b,c;
printf("Please enter a and b:");
scanf("%rf,%f",&a,&b);
c=add(a,b);
printf("sum is %f\n",c);
return 0;
}
float add(float x,float y)
{
float z;
z=x+y;
return(z);
}
##例7.5输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。
# include<stdio.h>
int main()
{
int max4(int a,int b,int c,int d);
int a,b,c,d,max;
printf("Please enter 4 interger numbers:");
scanf("%d %d %d %d",&a,&b,&c,&d);
max=max4(a,b,c,d);
printf("max=%d\n",max);
return 0;
}
int max4(int a,int b,int c,int d)
{
int max2(int a,int b);
int m;
m=max2(a,b);
m=max2(m,c);
m=max2(m,d);
return(m);
}
int max2(int a,int b)
{
if(a>=b)
return a;
else
return b<