//
// main.m
// 函数
//
// Created by on 12-12-4.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <math.h> // 数学函数
#import <string.h> // 对字符串 处理
#import <stdlib.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
//函数完成t定的功能的代码快,实现功能模块化,从而实现代码重用
//
//********************************* 库函数 的使用 **************************
// double x=1.2,y=3.2;
// float value = fabs(cos(x)) + sqrt(x*x + y*y);
// printf("%f",value);
//
// char ch;
// puts("input a char:\n");
// ch = getchar(); //单个字符输入
// putchar(ch); //单个字符输出
// char str[255] = "android";
// strcpy(str, "iPhone"); //字符串拷贝函数
// puts(str); //字符串输出函数 ,字符串 输入函数 :gets()
// strcat(str, "4s"); //字符串拼接 函数
// puts(str);
//
// int result = strcmp("abcddd", "abd"); //比较两个 字符串的 大小 按每位字符 的ASCII码逐个比较,只到第一个不相同的为止,大的则该字符串大,反之则另一个字符串大 结果有 负数 正数和 0
// printf("%d\n",result);
// printf("字节数为%lu:\n",sizeof(str)); //求字节数 函数
// printf("字符串长度:%lu",strlen(str)); //求 字符串 长度 函数 长度是有效长度 不算最后面的结束符号'\0'
void sayHi(); //函数原型 声明
sayHi(); //函数调用
float x=12.8,y=3.6,z=21,t;
float max(float a,float b); //原型声明
t = max(x,y); //函数调用
max(t,z);
int a =4,b = 7;
void changeValue(int num1,int num2);
changeValue(4, 7); //形参值改变,实参不变
printf("a = %d,b = %d",a,b);
}
return 0;
}
//********************************* 自定义 函数 **********************************
// 定义一个有返回值 无参数函数 定义函数 写在 main()函数 外面
int getValue()
{
int value = rand(); //随即数值
return value;
}
//定义一个 又返回值有一个参数的函数
int getValue2(int num)
{
int value = rand()%num; //在 0- num-1之间范围随机一个数
return value;
}
//无返回值无参数函数
void sayHi()
{
printf("你好!");
}
//无返回值有参数的函数
void sayHiToGril(char gender)
{
if (gender == 'w') {
printf("你好!");
}
}
// 比较两个数大小的函数
float max(float a,float b)
{
float max;
if (a>b) {
max = a;
}else{
max = b;
}
printf("max is:%f\n",max);
return max;
}
void changeValue(int num1,int num2)
{
int temp;
temp = num1;
num1 = num2;
num2 = temp;
printf("num1=%d,num2=%d\n",num1,num2);
}
// 今天作业:1(必做)、定义一个函数。功能:传入一个年份,求该年是不是闰年。函数名字 bool leapYear(int year);
// 2 (必做)、定义一个函数。作用是求整数num1和num2的最大公约数,并返回该值。函数名字int maxCommonDivisor(int num1,int num2);
//
{
int year;
printf("请输入 年份:");
scanf("%d",&year);
bool leapYear(int year);
leapYear(year);
int a,b,maxUnionNum;
printf("请输入两个整数:\n");
scanf("%d,%d",&a,&b);
int maxCommonDivisor(int num1,int num2);
maxUnionNum = maxCommonDivisor(a, b);
printf("最大公约数为:%d",maxUnionNum);
}
return 0;
}
bool leapYear(int year)
{
bool blog;
if (year%4 == 0 && year%100!=0)
{
blog = true;
printf("Year %d 是闰年。。。",year);
}
if (year%400 == 0)
{
blog = true;
printf("Year %d 是闰年。。。\n",year);
}else {
blog = false;
printf("Year %d 不是闰年。。。\n",year);
}
}
int maxCommonDivisor(int num1,int num2)
{
int unionNum;
if (num1>=num2)
{
for (int i=1; i<num2; i++)
{
if (num1%i == 0 && num2%i == 0)
{
unionNum = i;
}
}
}else {
for (int i=1; i<num1; i++)
{
if (num1%i == 0 && num2%i == 0)
{
unionNum = i;
}
}
}
return unionNum;
}