#pragma mark-
循环
// 循环的概念:分为四个部分
/*
1. 循环变量的初始值(盛包子的容器)
2. 循环条件(做多少包子)
3. 循环变量的增值(做包子)
4. 循环体(吃包子)
*/
// for(1 循环变量的初始化 ;2 循环条件 ;3 循环变量的增值 )
// {
// 4 循环体 ;
// }
// 循环的执行流程
//1,2,4,3,2,4,3,2,4,3....2.
// 每次吃一个包子
// for (int i=1; i<11; i++) {
// printf(" 我每次吃第 %d 个包子 !\n",i);
// }
// 每次吃 2 个包子
// for(int i=0;i<50;i +=2)
// {
// printf(" 我第 %d 次吃 2 个包子 \n",i / 2+1);
// }
// 每次吃 5 个包子
// for(int i=0;i<100;i +=5)
// {
// printf(" 我第 %d 次吃 5 个包子 \n",i / 5+1);
// }
// 练习:打印 100 遍 我胸前的红领巾更加鲜艳了
// for(int i=0;i<100;i++)
// {
// printf(" 我胸前的红领巾更加鲜艳了 !\n");
// }
// 正序打印 1-5 的数
// for (int i=0;i<5; i++) {
// printf("%d\n",i+1);
// }
// printf("---------\n");
// 如何倒叙打印 5-1 的数
// for (int i=5;i>0; i--) {
// printf("%d\n",i);
// }
// 用 for 循环打印 1-100 之间的偶数
// 注:先遍历 1-100 之间的数,然后在判断是否为偶数
// for (int i=1;i<101; i++) {
// if (i%2==0) {
// printf("%d\n",i);
// }
//
// }
// 用 for 循环打印 1-100 之间的奇数
// for (int i=1;i<101; i++) {
// if (i%2==1) {
// printf("%d\n",i);
// }
// }
// 打印 1-100 之间 7 的倍数
// for (int i=1;i<101; i++) {
// if (i%7==0) {
// printf("%d\n",i);
// }
// }
// 打印 1-100 之间个位为 7 的数
// for (int i=1;i<101; i++) {
// if (i%10==7) {
// printf("%d\n",i);
// }
// }
// 打印 1-100 之间十位不为 7 的数
// for (int i=1;i<101; i++) {
// if (i/10%10!=7) {
// printf("%d\n",i);
// }
// }
// 打印出 1-100 之间的即不是 7 的倍数又不含 7 的数
// for(int i=1;i<=100;i++)
// {
// if (i%7!=0 && i%10!=7 && i/10%10!=7)
// {
// printf("%d\n",i);
// }
// }
// 求 1-100 之间的 整数和
// int sum=0;
// for (int i=1; i<=100; i++)
// {
// sum +=i;
// }
// printf("sum=%d\n",sum);
// 求 200-300 之间的偶数的个数
// int count=0;
// for (int i=200; i<=300;i++) {
// if (i%2==0) {
// ++count;
// }
// }
// printf("count=%d",count);
#pragma mark- 随机值
// 通过随机很熟 arc4random() 随机一个整数
// 公式:随机 [a,b] 范围内的数
//arc4random() % (b-a+1)+a;
//[0,9]
// int ran=0;// 存储随机的整数
// ran=arc4random()%10;// 等价于 arc4random () %(9-0+1)+a;
//[10,20]
//int ran2=arc4random()%11+10;// 等价于 arc4random () %(20-10+1)+10;
//[48,73]
//int ran3=arc4random()%(73-48+1) +48;
// 练习 : 用 for 循环打印 10 个随机数(范围为 10-30 );求最大值和最小值
// int max=0,min=30,data=0;
// 将第一个值赋值给最大值和最小值
// data=arc4random()%21+10;
// min=max=data;
// printf("%3d",data);
// for (int i=0; i<10; i++)
// {
// data=arc4random()%21+10;
//
// if (data > max)
// {
// max=data;
// }
// if(data<min)
// {
// min=data;
// }
// printf("%3d",data);
// }
// printf("\n");
// printf("max=%d,min=%d\n",max,min);
#pragma mark-break 和 continue
//break: 用来结束本层循环 .
//continue: 用来结束本次循环 .
// for(int i=0;i<5;i++)
// {
//
// if (i%2!=0)
// {
// continue;
// }
// printf("%d\n",i);
//
// }
// for (int i=0; i<20; i++)
// {
// printf(" 我是一个大英雄 %d ! \n",i);
// if (i==10)
// {
// break;//
// }
// else
// {
// printf(" 你是谁 %d\n",i);
// }
//
// }
#pragma mark- 循环嵌套
// 循环 2 作为循环 1 的循环体
// 原理:要找到内层循环和外层循环变量之间的关联
// 外层控制行数,里层控制内容
// for (int i=0; i<5; i++) {
// for (int j=0; j<i+1; j++) {
// printf("%d",j);
// }
// printf("\n");
// }
// 外层控制层数
// for (int i=0; i<3; i++)
// {
// // 内层控制输出的内容
// for (int j=0; j<=3-i; j++)
// {
// printf("%d",j);
// }
// printf("\n");
// }
// 外层控制层数
// for (int i=0; i<3; i++)
// {
// // 内层控制输出的内容
// for (int j=3; j>=3-i; j--)
// {
// printf("%2d",j);
// }
// printf("\n");
// }
//
/*
*
* *
* * *
*/
// for (int i=0; i<3;i++)
// {
// for (int k=0; k<2-i; k++)
// {
// printf(" ");
// }
// for (int j=0; j<i+1; j++)
// {
// printf("* ");
// }
// printf("\n");
// }
// 打印九九乘法表
// for (int i=1; i<=9; i++)
// {
// for (int j=1; j<=i; j++)
// {
// printf("%d x %d =%2d ",i,j,i*j);
// }
// printf("\n");
// }
// 打印 3 个数字( 0-9 )的组合可能(组成三位数)
// 三个 for 循环
// for(int i=1;i<10;i++)
// {
// for (int j=0;j<10;j++)
// {
// for(int k=0;k<10;k++)
// {
// printf("%d %d %d\n",i,j,k);
// }
// }
// }
#pragma mark-while 循环
//while 循环条件和循环体两部分,循环变量初始化在循环条件之前。
// 而循环变量增量是作为循环体的一部分。
//while 循环是先判断在执行循环体
// 用 while 循环打印出 1-100 之间 7 的倍数
// int i=1;
// while (i<=100)
// {
// if (i %7==0)
// {
// printf("%3d",i);
// }
// i++;
// }
// 用 while 循环打印出 1-100 之间不是 7 的倍数并且不含 7 的数
// int i=1;
// while (i<=100) {
// if (i % 7!=0 && i%10!=7 && i/10!=7)
// {
// printf("%4d",i);
// }
// i++;
// }
#pragma mark-do while
//do ...while 循环体包括循环条件和循环体两部分吗,循环变量初始化在循环条件之前,而循环变量增量事作为循环体的一部分
//do ..while 循环是先执行循环体在判断条件
// 练习:使用 do ...while 循环输出 1-100 个位是 7 的数
// int i=1;
// do{
// if (i%10==7)
// {
// printf("%4d",i);
// }
// i++;// 循环变量的增量
// }while (i<=100);
// 练习:输入一个整数,求这个整数的位数
// int count=0;
// int num=0;
// printf(" 请输入一个整数: ");
// scanf("%d",&num);
// while (num!=0)
// {
// count++;
// num /=10;
// }
// printf("count=%d",count);
// return 0;
// 循环的概念:分为四个部分
/*
1. 循环变量的初始值(盛包子的容器)
2. 循环条件(做多少包子)
3. 循环变量的增值(做包子)
4. 循环体(吃包子)
*/
// for(1 循环变量的初始化 ;2 循环条件 ;3 循环变量的增值 )
// {
// 4 循环体 ;
// }
// 循环的执行流程
//1,2,4,3,2,4,3,2,4,3....2.
// 每次吃一个包子
// for (int i=1; i<11; i++) {
// printf(" 我每次吃第 %d 个包子 !\n",i);
// }
// 每次吃 2 个包子
// for(int i=0;i<50;i +=2)
// {
// printf(" 我第 %d 次吃 2 个包子 \n",i / 2+1);
// }
// 每次吃 5 个包子
// for(int i=0;i<100;i +=5)
// {
// printf(" 我第 %d 次吃 5 个包子 \n",i / 5+1);
// }
// 练习:打印 100 遍 我胸前的红领巾更加鲜艳了
// for(int i=0;i<100;i++)
// {
// printf(" 我胸前的红领巾更加鲜艳了 !\n");
// }
// 正序打印 1-5 的数
// for (int i=0;i<5; i++) {
// printf("%d\n",i+1);
// }
// printf("---------\n");
// 如何倒叙打印 5-1 的数
// for (int i=5;i>0; i--) {
// printf("%d\n",i);
// }
// 用 for 循环打印 1-100 之间的偶数
// 注:先遍历 1-100 之间的数,然后在判断是否为偶数
// for (int i=1;i<101; i++) {
// if (i%2==0) {
// printf("%d\n",i);
// }
//
// }
// 用 for 循环打印 1-100 之间的奇数
// for (int i=1;i<101; i++) {
// if (i%2==1) {
// printf("%d\n",i);
// }
// }
// 打印 1-100 之间 7 的倍数
// for (int i=1;i<101; i++) {
// if (i%7==0) {
// printf("%d\n",i);
// }
// }
// 打印 1-100 之间个位为 7 的数
// for (int i=1;i<101; i++) {
// if (i%10==7) {
// printf("%d\n",i);
// }
// }
// 打印 1-100 之间十位不为 7 的数
// for (int i=1;i<101; i++) {
// if (i/10%10!=7) {
// printf("%d\n",i);
// }
// }
// 打印出 1-100 之间的即不是 7 的倍数又不含 7 的数
// for(int i=1;i<=100;i++)
// {
// if (i%7!=0 && i%10!=7 && i/10%10!=7)
// {
// printf("%d\n",i);
// }
// }
// 求 1-100 之间的 整数和
// int sum=0;
// for (int i=1; i<=100; i++)
// {
// sum +=i;
// }
// printf("sum=%d\n",sum);
// 求 200-300 之间的偶数的个数
// int count=0;
// for (int i=200; i<=300;i++) {
// if (i%2==0) {
// ++count;
// }
// }
// printf("count=%d",count);
#pragma mark- 随机值
// 通过随机很熟 arc4random() 随机一个整数
// 公式:随机 [a,b] 范围内的数
//arc4random() % (b-a+1)+a;
//[0,9]
// int ran=0;// 存储随机的整数
// ran=arc4random()%10;// 等价于 arc4random () %(9-0+1)+a;
//[10,20]
//int ran2=arc4random()%11+10;// 等价于 arc4random () %(20-10+1)+10;
//[48,73]
//int ran3=arc4random()%(73-48+1) +48;
// 练习 : 用 for 循环打印 10 个随机数(范围为 10-30 );求最大值和最小值
// int max=0,min=30,data=0;
// 将第一个值赋值给最大值和最小值
// data=arc4random()%21+10;
// min=max=data;
// printf("%3d",data);
// for (int i=0; i<10; i++)
// {
// data=arc4random()%21+10;
//
// if (data > max)
// {
// max=data;
// }
// if(data<min)
// {
// min=data;
// }
// printf("%3d",data);
// }
// printf("\n");
// printf("max=%d,min=%d\n",max,min);
#pragma mark-break 和 continue
//break: 用来结束本层循环 .
//continue: 用来结束本次循环 .
// for(int i=0;i<5;i++)
// {
//
// if (i%2!=0)
// {
// continue;
// }
// printf("%d\n",i);
//
// }
// for (int i=0; i<20; i++)
// {
// printf(" 我是一个大英雄 %d ! \n",i);
// if (i==10)
// {
// break;//
// }
// else
// {
// printf(" 你是谁 %d\n",i);
// }
//
// }
#pragma mark- 循环嵌套
// 循环 2 作为循环 1 的循环体
// 原理:要找到内层循环和外层循环变量之间的关联
// 外层控制行数,里层控制内容
// for (int i=0; i<5; i++) {
// for (int j=0; j<i+1; j++) {
// printf("%d",j);
// }
// printf("\n");
// }
// 外层控制层数
// for (int i=0; i<3; i++)
// {
// // 内层控制输出的内容
// for (int j=0; j<=3-i; j++)
// {
// printf("%d",j);
// }
// printf("\n");
// }
// 外层控制层数
// for (int i=0; i<3; i++)
// {
// // 内层控制输出的内容
// for (int j=3; j>=3-i; j--)
// {
// printf("%2d",j);
// }
// printf("\n");
// }
//
/*
*
* *
* * *
*/
// for (int i=0; i<3;i++)
// {
// for (int k=0; k<2-i; k++)
// {
// printf(" ");
// }
// for (int j=0; j<i+1; j++)
// {
// printf("* ");
// }
// printf("\n");
// }
// 打印九九乘法表
// for (int i=1; i<=9; i++)
// {
// for (int j=1; j<=i; j++)
// {
// printf("%d x %d =%2d ",i,j,i*j);
// }
// printf("\n");
// }
// 打印 3 个数字( 0-9 )的组合可能(组成三位数)
// 三个 for 循环
// for(int i=1;i<10;i++)
// {
// for (int j=0;j<10;j++)
// {
// for(int k=0;k<10;k++)
// {
// printf("%d %d %d\n",i,j,k);
// }
// }
// }
#pragma mark-while 循环
//while 循环条件和循环体两部分,循环变量初始化在循环条件之前。
// 而循环变量增量是作为循环体的一部分。
//while 循环是先判断在执行循环体
// 用 while 循环打印出 1-100 之间 7 的倍数
// int i=1;
// while (i<=100)
// {
// if (i %7==0)
// {
// printf("%3d",i);
// }
// i++;
// }
// 用 while 循环打印出 1-100 之间不是 7 的倍数并且不含 7 的数
// int i=1;
// while (i<=100) {
// if (i % 7!=0 && i%10!=7 && i/10!=7)
// {
// printf("%4d",i);
// }
// i++;
// }
#pragma mark-do while
//do ...while 循环体包括循环条件和循环体两部分吗,循环变量初始化在循环条件之前,而循环变量增量事作为循环体的一部分
//do ..while 循环是先执行循环体在判断条件
// 练习:使用 do ...while 循环输出 1-100 个位是 7 的数
// int i=1;
// do{
// if (i%10==7)
// {
// printf("%4d",i);
// }
// i++;// 循环变量的增量
// }while (i<=100);
// 练习:输入一个整数,求这个整数的位数
// int count=0;
// int num=0;
// printf(" 请输入一个整数: ");
// scanf("%d",&num);
// while (num!=0)
// {
// count++;
// num /=10;
// }
// printf("count=%d",count);
// return 0;
//总结: