例7.1 用函数调用实现
#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 ( "Hellow World!\n" ) ;
}
例7.2 输入两个整数,要求输出其中值较大者
#include <stdio.h>
int main ( )
{
int max ( int x, int y) ;
int a, b, c;
printf ( "please enter tow integer numbers:" ) ;
scanf ( "%d,%d" , & a, & b) ;
c= max ( a, b) ;
printf ( "max is %d\n" , c) ;
return 0 ;
}
int max ( int x, int y)
{
int 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 ( "%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.6
#include <stdio.h>
int main ( )
{
int age ( int n) ;
printf ( "NO.5,age:%d\n" , age ( 5 ) ) ;
return 0 ;
}
int age ( int n)
{
int c;
if ( n== 1 )
c= 10 ;
else
c= age ( n- 1 ) + 2 ;
return ( c) ;
}
例7.7 用递归方法求n!
#include <stdio.h>
int main ( )
{
int fac ( int n) ;
int n;
int y;
printf ( "input an integer number:" ) ;
scanf ( "%d" , & n) ;
y= fac ( n) ;
printf ( "%d!=%d\n" , n, y) ;
return 0 ;
}
int fac ( int n)
{
int f;
if ( n< 0 )
printf ( "n<0,data error!" ) ;
else if ( n== 0 || n== 1 )
f= 1 ;
else f= fac ( n- 1 ) * n;
return ( f) ;
}
例7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数
#include <stdio.h>
int main ( )
{
int max ( int x, int y) ;
int a[ 10 ] , m, n, i;
printf ( "输入10个数:" ) ;
for ( i= 0 ; i< 10 ; i++ )
scanf ( "%d" , & a[ i] ) ;
printf ( "\n" ) ;
for ( i= 1 , m= a[ 0 ] , n= 0 ; i< 10 ; i++ )
{
if ( max ( m, a[ i] ) > m)
{
m= max ( m, a[ i] ) ;
n= i;
}
}
printf ( "最大的数是%d\n这个数是第%d个数" , m, n+ 1 ) ;
return 0 ;
}
int max ( int x, int y)
{
return ( x> y? x: y) ;
}
例7.10 有一个一维数组score,内放10个学生成绩,求平均成绩
#include <stdio.h>
int main ( )
{
float aver ( float array[ 10 ] ) ;
float score[ 10 ] , aver;
int i;
printf ( "input 10 scores:\n" ) ;
for ( i= 0 ; i< 10 ; i++ )
scanf ( "%f" , & score[ i] ) ;
printf ( "\n" ) ;
aver= aver ( score)
printf ( "aver score is %5.2f\n" , aver) ;
return 0 ;
}
float aver ( float array[ 10 ] )
{
int i;
float aver, sum= array[ 0 ] ;
for ( i= 1 ; i< 10 ; i++ )
sum= sum+ array[ i] ;
aver= sum/ 10 ;
return ( aver) ;
}