我的IOS学习历程 - 第六天2
补充上文
#import <Foundation/Foundation.h>
// 变量的作用域
// 局部变量: 函数中定义的变量 叫局部变量
// 局部变量作用域: 由变量以下 至最近的大括号之间 是该变量的作用域
// 全局变量:在main函数外面又不能在其他函数中 定义的变量 叫全局变量
// 如果全局变量和局部变量重名 以局部变量为准
// 不要给自己找不必要的麻烦
// 声明一个函数 比较两个数的大小 返回大的数
int sortTwoNumber(int num1, int num2){
return num1 > num2 ? num1 : num2;
}
// 三个数最大值
int sortThreeNumber(int num1, int num2, int num3){
// int max = sortTwoNumber(num1, num2) > num3 ? sortTwoNumber(num1, num2) : num3;
int maxNumber = 0;
maxNumber = sortTwoNumber(num1, num2);
maxNumber = sortTwoNumber(maxNumber, num3);
return maxNumber;
}
// 四个数的最大值
int sortFourNumber(int num1, int num2, int num3, int num4){
int max = sortThreeNumber(num1, num2, num3) > num4 ? sortThreeNumber(num1, num2, num3) : num4;
return max;
}
// 五个数的最大值
int sortFiveNumber(int num1, int num2, int num3, int num4, int number5){
int max = sortFourNumber(num1, num2, num3, num4);
max = sortTwoNumber(max, number5);
return max;
}
// 计算n的阶乘!
/*
n = 1 或者 n = 0 阶乘为1
n > 1 阶乘为n * (n - 1)
n == 5 5 * (5 - 1)
*/
//int function(int n)
// 递归函数
//{
// if(n == 0 || n == 1){
// return 1;
// }int result1 = 0;
// result1 = n * function(n - 1);
// return result1;
//}
// 2.一个整形数的阶乘
int function1(int n){
// 声明一个结果
// 思路 :把复杂的公式分布拆解
// 1. 先平方 2. 阶乘 3. 连加
int result = 0;
for (int i = 0; i <= n; i++) {
result = result + function1(i * i);
}return result;
}
// 一个整形术的阶乘
int mul(int num1){
int mulnum = num1 * num1;
return mulnum;
}
int factorialNumber(int num2){
int result = 1;
for (num2 = mul(num2); num2 > 0; num2--) {
result = result * num2;
}return result;
}
int sumFactorial(int num3){
int sum = 0;
for (int n = num3; n > 0; n--) {
sum = sum + factorialNumber(n);
}return sum;
}
int main(int argc, const char * argv[]) {
// int max = sortFourNumber(3, 5, 2, 9);
// printf("%d",max);
int sum = sumFactorial(2);
printf("%d",sum);
浙公网安备 33010602011771号