// DAY-4王学文
//c语言基础第二讲(小辉)
//循环 嵌套
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//for循环
/*for (1; 2; 3){
4
}
*/
//1.循环变量初始化
//2.循环条件
//3.循环增量
//4.循环体
//循环顺序
//第一次:1 2 4 3,以后的循环就是2 4 3
//打印5次Hello World
// for(int i = 1; i <= 5; i++) {
// printf("Hello World!\n");
// printf("i = %d\n", i);
// }
//打印0 - 100
//变量的作用域需要注意一下,例如for循环里的i只作用于for循环
//要注意避免死循环
// for (int i = 0; i <= 100; i++) {
// printf("%-3d ", i);
// }
// printf("\n");
// for (int i =100; i >= 0; i--) {
// printf("%-3d",i);
// }
// printf("\n");
//计算0 - 100 的和
// int sum = 0;
// for (int i = 0; i <= 100; i++) {
// sum = sum + i;
// }
// printf("sum = %d\n", sum);
// printf("Hello World!\n");
//输出100以内的奇偶数
// for (int i = 1; i <= 100; i++) {
// if (i % 2 !=0) {
//
// printf("%-3d", i);
// }
// }
// printf("\n");
// for (int i = 0; i <= 100; i += 2) {
// printf("%-3d", i);
// } printf("\n");
//小游戏(100以内逢7或者7的倍数过)
// for (int i = 1; i <= 100; i++) {
// if ((i % 7 == 0) || (i % 10 == 7) || (i / 10 == 7)) {
// printf(" 过 ");
// } else {
// printf(" %d ", i);
// }
// }
//随机数
// arc4random();
//unsingned int 用%u打印
//打印五个随机数
// for (int i = 0; i < 5; i++) {
// printf("%u\n",arc4random());
// }
//打印5个【0.50】的随机数
// for (int i = 0; i < 5; i++) {
// int temp = arc4random() % 51;
// printf("%d\n", temp);
// }
//打印5个【10,50】的随机数
// for (int i = 0; i < 5; i++) {
// int temp = arc4random() % 41;
//
// printf("%d\n", temp + 10);
// }
//获取[x,y]的随机公式
//arc4random() % (y - x + 1) + x;
//随机生成20个[15,65]的数,并求出最大值
// int max = 0;
// for (int i = 0; i < 20; i++) {
// int temp = arc4random() % 51 + 15;
// printf("%-3d", temp);
//
// if (max < temp ) {
// max = temp;
// }
// }
// printf("\n最大值为:%d\n",max);
//随机生成15个[8,88]的数,并求出最小值
// int min = 89;
// for (int i = 0; i < 15; i++) {
// int temp = arc4random() % 81 + 8;
// printf("%-3d", temp);
// if (min > temp) {
// min = temp;
// }
// }
// printf("\nmin = %d\n", min);
//for的变形
// int i = 0;
// for ( ;i < 5; ) {
// i++;
// printf("");
// }
// for (int i = 0, j = 0; i < 100 && j < 50; i++, j++) {
// printf("Hello World!\n");
// }
//循环的嵌套
//外层循环控制循环的行数
//内层的循环控制循环的个数
//外层的循环执行一次,内层的循环执行一遍
//循环嵌套多用于输出多行相同的数据
//打印3遍12345
//ctrl + i 可以调整程序结构成为规范的结构
// for (int i = 0; i < 5; i++) {
// for (int j = 1; j < 5; j++) {
// printf("%d ", j);
// }
// printf("\n");
// }
//打印
//1
//12
//123
//1234
//12345
// for (int i = 1; i <= 5; i++) {
// for (int j = 1; j <= i ; j++) {
// printf("%d", j);
// }
// printf("\n");
// }
// for (int i = 1; i <= 9; i++) {
// for (int j = 1; j <=i; j++) {
// int m = i * j;
// printf("%d*%d = %-2d ", j, i, m);
// }
// printf("\n");
// }
//循环嵌套一般不超过三层
// for (int i = 0; i <= 9; i++) {
// for (int j = 0; j <= 9; j++) {
// for (int k = 0; k <=9; k++) {
// printf("%d%d%d ", i, j, k);
// }
// printf("\n");
// }
// printf("\n");
// }
//break用于跳出本层循环
// for (int i = 0; i < 10; i++) {
// if (i == 5) {
// break;
// }
// printf("%d", i);
// }
// for (int j = 0; j <= 5; j++) {
// for (int i = 0; i < 10; i++) {
// if (i == 5 ) {
// break;
// }
// printf("%d", i);
// }
// printf("\n");
// }
//continue用于跳出本次循环
//用于加速循环的执行
// for (int i = 0; i < 10; i++) {
// if (i % 2 == 0) {
// continue;
// }
// printf("%d ", i);
// }
// printf("\n");
//while
/*
while (循环条件) {
循环体
}
*/
// int a = 0;
// while (a <= 10) {
// printf("%d\n", a);
// a++;
// }
//计算0-100的偶数之和
// int a = 0;
// int sum = 0;
// while (a <= 100) {
//
// if (a % 2 == 0) {
// sum = a + sum;
// }
// a++;
// }
// printf("%d\n", sum);
// int a = 0, sum = 0;
// while (a <= 100) {
// sum += a;
// a += 2;
//
// }
// printf("%d\n", sum);
//随机生成20个[12,36]的数,并求出最大值,最小值,平均值
// int a = 0, max = 0, min = 36;
// float avg = 0.0;
// while (a < 20) {
// int x = arc4random() % 25 + 12;
// avg = avg + x;
// if (x > max) { //max = x > max ? x : max;
// max = x;
// }
// if (x < min) { //min = x < min ? x : min;
// min = x;
// }
// a++;
// }
// avg = avg / 20;
// //程序要尽量简洁,输出一次能写完最好写完;
// printf("max = %d, min = %d, avg = %.2f\n", max, min, avg);
//for循环和while循环的区别
//1.知道循环的次数,用for循环
//2.知道循环的条件,用while循环
//do while 循环
// do {
// 循环体;
// } while (条件语句);
//执行顺序:先执行循环体,再执行条件,即便条件不成立,至少执行一次循环体;
// int k = 0;
// do {
// printf("Hello!\n");
// k++;
// } while (k < 10);
//输入一个数,计算其位数,(可以用for,while,do…while)
// int num = 0;
// printf("请输入一个数:");
// scanf("%d", &num);
// int count = 0;
//// if (num == 0) {
//// count = 1;
//// } else
// {
// while (num != 0) {
// num = num / 10;
// count++;
// }
// }
// printf("这是个%d位数\n", count);
// int count = 0, num = 0;
// printf("请输入一个数:");
// scanf("%d", &num);
// do {
// num = num / 10;
// count++;
// } while (num != 0);
// printf("这是个%d位数\n", count);
return 0;
}