//  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;

}

 

posted on 2015-01-16 08:52  小雪童鞋  阅读(543)  评论(0编辑  收藏  举报