第7章 用函数实现模块化程序设计

一·例题

例7.1 想输出以下的结果,用函数调用实现。

第7章 用函数实现模块化程序设计

#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章 用函数实现模块化程序设计

例7.2 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。

int max(int x,int y)
{
 int z;
 z=x>y?x:y;
 return (z);
}

#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章 用函数实现模块化程序设计

例7.3 将例7.2稍作改动,将在max函数中定义的变量z改为float型。函数返回值的类型与指定的函数类型不同,分析其处理方法。

#include<stdio.h>
int main()
{
 int max(float x,float y);
 float a,b;
 int c;
 printf("please enter two integer numbers:");
 scanf("%f,%f",&a,&b);
 c=max(a,b);
 printf("max is %d\n",c);
 return 0;
}

int max(float x,float y)
{
 int z;
 z=x>y?x:y;
 return (z);
}

运行结果如下:
第7章 用函数实现模块化程序设计

例7.4 输入两个实数,用一个函数求出它们之和。

#include<stdio.h>
int main()
{
 float add(float x,float y);
 float a,b,c;
 printf("Please enter a and b:");
 scanf("%f,%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章 用函数实现模块化程序设计

例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 integer 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;
}

运行结果如下:
第7章 用函数实现模块化程序设计