函数相关练习题
1.函数嵌套
四个数字的比较
//1.代码的基本框架
//2.定义相关的变量
//3.输入四个数字
//4.定义一个变量biggest和一个函数GetMax
//5.封装GetMax函数
//6.GetMax函数里面嵌套一个GetMaxTwo函数
//7.封装GetMaxTwo函数
//8.打印输出最大的数
#include <stdio.h>
int GetMaxTwo(int data1,int data2){
int bigger;
bigger = data1 > data2 ? data1:data2;
return bigger;
}
int GetMax(int a,int b,int c,int d){
int max;
max = GetMaxTwo(a,b);
max = GetMaxTwo(max,c);
max = GetMaxTwo(max,d);
return max;
}
int main(){
int data1;
int data2;
int data3;
int data4;
int biggest;
puts("请输入四个数字:");
scanf("%d%d%d%d",&data1,&data2,&data3,&data4);
biggest = GetMax(data1,data2,data3,data4);
printf("biggest is %d",biggest);
return 0;
}
2.递归函数及编程实战
#include <stdio.h>
int GetAge(int person){
int age;
if(person == 1){
age = 10;
}else{
age = GetAge(person-1) + 2;
}
return age;
}
int main(){
int age;
int num;
printf("学生的年龄:\n");
scanf("%d",&num);
age = GetAge(num);
printf("第%d个学生的年龄是%d",num,age);
return 0;
}
3.阶乘
#include <stdio.h>
#include <stdlib.h>
int GetJieCeng(int num){
int result;
if(num>17){
printf("error");
exit(-1);
}
if(num == 1){
result = 1;
}else{
result = GetJieCeng(num-1)*num;
}
return result;
}
int main(){
int num;
int ret;
puts("请输入阶层数:");
scanf("%d",&num);
ret = GetJieCeng(num);
printf("%d的阶乘是%d\n",num,ret);
return 0;
}