//
// main.m
//#import < >这是我们系统自带的框架
#import <Foundation/Foundation.h>
//import " " 代表的是我们自己定义的文件,而且引入的是头文件
#import "func.h"
/**
函数:就是封装了一块代码段而封装的代码段具有其特定的作用,
printf()输出函数
scanf ();阻塞函数,输入函数
strlen()计算字符串长度的函数
//函数类型:
参数:参数分为形式参数(形参);形式参数:就是我们在定义函数时,函数名后边()括号内的参数
实际参数:也叫做(实参),就是我们在调用函数时函数名后边()括号内写的参数
函数的格式:类型修饰符 函数名 括号() 括号内部是我们的参数
void rest(int a,int b){ }
如果有多个参数 我们可以使用(,)来隔开
如果我们上边的void 换成 int....或者其他的数据类型我们在我们{}花括号内部写上return 代表 是有返回值的函数
函数的几大类型:
1,无参数无返回值(无 使用; void 来表示)
2,无参数有返回值
3.有参数有返回值
4.有参数无返回值
**/
//现在要求写一个函数 我叫赵日天,我要neng死你!
//无返回值无参数
//void test(){
// printf("我叫赵日天,我要neng死你!!");
//}
//无返回值有参数
//void test1(int a,int b){
// printf("sum=%d
",a+b);
//}
////有返回值有参数
//int test2(int a,int b){
// int result=a*b;
//
// return result;
//}
//有返回值无参数
//int test3(){
//
// printf("叔叔,约吗?");
// return 0;
// printf("阿姨,约!!!");//这里是不会打印出来的,因为遇到return代表着结束,所以只会打印出return之前的语句.
//}
//定义一个比较两个数大小的函数
//int test4(int a,int b){
// int max=a>b?a:b;
// return max;
//}
//
//
//
//int sumValue(int n){
// int sum=0;
// for (int i=1; i<=n; i++) {
// sum+=i;
// }
// return sum;
//}
//编写函数dayOfyear(year,mouth,day),使得函数返回值由这三个参数确定一年当中的第几天
//int dayOfyear(int year,int mouth,int day)
//{
// //定义一个数组数组当中的元素表示我们一年当中所有月份的天数
// int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
// int sum=0;//接收刚过完月份的天数的总和
// //判断闰年
// if ((year % 400==0)||(year % 4== 0&&year % 100!= 0))
// {
// days[1]=29;//将我们2月份的天数改成闰年的特殊情况也就是29天
// }
// //计算已经过完所有月份的天数之和
// for (int i=0; i<mouth-1; i++) {
// sum+=days[i];
// }
// //累加传入的天数
// sum+=day;
//
//
// return sum;
//}
//编写一个函数,返回三个整数的中间数
//中间数=总和-max-min;
//中间数怎么确定?-->
// int test(int a,int b,int c)
//{
// int max =(a>b?a:b)>c?(a>b?a:b):c;//接收最大值
// int min =(a<b?a:b)<c?(a<b?a:b):c;//接收最小值
// int sum=a+b+c;
// int d=sum-max-min;
// printf("中间值=%d",d);
// return d;
//}
//用函数封装一个冒泡
//数组作为我们函数的参数
//把数组作为函数参数的时候,传入的是数组的首地址(array)
// int i,j;
// int a[6]={3,6,2,8,1,9};
// int temp;
// for (i=0; i<5; i++) {
// for (j=0;j<5-i ; j++) {
// if (a[j]>a[j+1]) {
// temp=a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// }
// }
// }for (i=0; i<6; i++) {
// printf("%d ",a[i]);
// }
//
//数组作为函数的参数:冒泡
//int array[]={3,6,2,8,1,9};
//void mp(int array[],int count)
//{
// for (int i=0; i<5; i++) {
// for (int j=0;j<5-i ; j++) {
// if (array[j]>array[j+1]) {
// int temp=array[j];
// array[j]=array[j+1];
// array[j+1]=temp;
// }
// }
// } for (int i=0; i<count; i++) {
// printf("%d ",array[i]);
// }
//
//}
//int a[]={3,4,1,8,5,2};
//void mp(int a[],int count)
//{
// for(int i=0;i<count-1;i++){
// for (int j=0;j<count-1-i;j++){
// if (a[j]<a[j+1]) {
// int temp=a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
//
// }
//
// }
//
// }for (int i=0; i<count; i++) {
// printf("%d ",a[i]);
// }
////在这里(函数内部)a 相当于一个指针变量,指针所占字节大小是8个
// printf("字节%lu",sizeof(a));
//
//}
/*编写函数 void sayHi(void) :应⽤用for循环,打印3遍“我要减肥”
编写函数,应⽤用for循环,打印n遍“我要减肥”, n的值由键盘输⼊入
*/
//void sayHi(void){
// for (int i=0; i<3; i++) {
// printf("我要减肥!!
");
// }
//
//}
//void sayHi(void) {
// printf("请输入一个数");
// int n;
// scanf("%d",&n);
// for (int i=0; i<n; i++) {
// printf("我要减肥!!
");
// }
//
//}
/*求两个数的最⼤值
•
求三个数的最⼤值
•
求四个数的最⼤值
•
求五个数的最⼤值
*/
int main(int argc, const char * argv[]) {
//
//函数的调用
// test();
//
// test1(3,4);
//
//
// int cj = test2(3,4);
//
// printf("%d
",cj);
//
// test3();
////
// int max=test4(1,5);
// printf("max=%d",max);
//完整的函数分为:函数声明,函数实现,函数的调用.
//编写函数int sumValue(int n):计算1-n的和
// printf("sum=%d",sumValue(3));
// printf("%d
",dayOfyear(2016,3,12));
// test(6,5,7);
//
// int array[6]={3,6,2,8,1,9};
// mp(array,6);
//// int a[6]={3,4,1,8,5,2,29};
// mp(a, 6);
// printf("字节%lu",sizeof(a));
// sayHi();
/*求两个数的最⼤值
•
求三个数的最⼤值
•
求四个数的最⼤值
•
求五个数的最⼤值
*/
// int result1=TwoNumxj(5, 4);
// printf("%d ",result1);
// int result2=TwoNumjf(5, 4);
// printf("%d ",result2);
// int result3=TwoNumcf(5, 4);
// printf("%d ",result3);
// int result4=TwoNumxc(5, 4);
// printf("%d ",result4);
//
// int Max=TwoNumMax(3,4);
// printf("Max=%d
",Max);
//
// int max2=ThreeNumMax(4,5,6);
// printf("max2=%d
",max2);
//
// int max3=FourNumMax(6,7,8,9);
// printf("max3=%d
",max3);
//
// int max4=FiveNumMax(6,7,8,9,10);
// printf("max4=%d
",max4);
//
return 0;
}
//
// func.h
#import <Foundation/Foundation.h>
//实现4个函数分别求两个整型数的加,减,乘,除
//函数声明 一般放在 . h文件中,声明相当于说明书的扉页
// .m文件中 一般放的是我们实现部分(函数实现),实现就相当于左具体的操作
//加
int TwoNumxj(int num1,int num2);
//减
int TwoNumjf(int num1,int num2);
//乘
int TwoNumcf(int num1,int num2);
//除
int TwoNumxc(int num1,int num2);
//求两个数的最⼤大值
int TwoNumMax(int a,int b);
//求三个数的最⼤大值
int ThreeNumMax(int a,int b,int c);
//求四个数的最⼤大值
int FourNumMax(int a,int b,int c,int d);
//求五个数的最⼤大值
int FiveNumMax(int a,int b,int c,int d,int e);
//
// func.m
#import "func.h"
//相加
int TwoNumxj(int num1,int num2)
{
return num1+num2;
}
//相减
int TwoNumjf(int num1,int num2)
{
return num1-num2;
}
//相乘
int TwoNumcf(int num1,int num2)
{
return num1*num2;
}
//相除
int TwoNumxc(int num1,int num2)
{
return num1/num2;
}
//两个数找最大值
int TwoNumMax(int a,int b){
return a>b?a:b;
}
//三个数找最大值
int ThreeNumMax(int a,int b,int c){
return TwoNumMax(a, b)>c?TwoNumMax(a, b):c;
}
//四个数找最大值
int FourNumMax(int a,int b,int c,int d){
return ThreeNumMax(a,b,c)>d?ThreeNumMax(a,b,c):d;
}
//五个数找最大值
int FiveNumMax(int a,int b,int c,int d,int e){
return FourNumMax(a,b,c,d)>e?FourNumMax(a,b,c,d):e;
}