天天看點

iOS開發學習之C語言---C03 循環結構

//

//  main.m

//  CLesson03

//

//  Created by 康 亮亮 on 15/10/9.

//  Copyright (c) 2015年 Darling.com. All rights reserved.

//  while循環、do..while 循環、for循環

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    //    printf("志南是大帥哥!");

#pragma mark while循環

    //    while (條件表達式(滿足循環的條件)) {

    //        語句;(循環體)

    //    }

    //

    //    int num = 0; // 循環變量

    //    while (num < 10) { // 判斷循環變量是否滿足循環條件

    //        printf("志南是大帥哥!目前列印第%d次\n", num);

    //        num++; // 循環增量

    //    }

    //     練習:求 1+2+3+4+5的和,用while循環實作

    //     1.定義一個循環變量,同時可以充當加數

    //    int num = 0;

    //    // 2.定義一個變量,儲存和

    //    int sum = 0;

    //    // 3.開始循環,利用循環增量,依次将循環變量(也就是加數加一)

    //    while (num < 5) {

    //        num++;

    //        sum = sum + num;

    //    }

    //    printf("sum = %d\n", sum);

    // 使用循環列印【1,100】的數

    //    int num = 1;

    //

    //    while (num <= 100) {

    //        printf("%d\n",num);

    //        num++;

    //    }

    // 使用循環列印【1,100】之間7的倍數

    //    int num = 1;

    //

    //    while (num <= 100) {

    //        int temp = num % 7;

    //        if (temp == 0) {

    //            printf("%d\n",num);

    //        }

    //        num++;

    //    }

    // 使用循環列印【1,100】之間個位是7的數

    //    int num = 1;

    //

    //    while (num <= 100) {

    //        int temp = num % 10;

    //        if (temp == 7) {

    //            printf("%d\n",num);

    //        }

    //        num++;

    //    }

    //     使用循環列印【1,100】之間十位是7的數

    //    int num = 1;

    //

    //    while (num <= 100) {

    //        int temp = num / 10;

    //        if (temp == 7) {

    //            printf("%d\n",num);

    //        }

    //        num++;

    //    }

#pragma mark 随機數

    //    arc4random();用來産生一個随機數的函數

    //    int a = arc4random(); // 使用系統函數産生一個随機數,并交給變量a儲存

    //    printf("a = %d\n", a);

    //    int a = arc4random() % 10; // 産生的數字不會超過10,因為用10對随機數取餘數操作,它的餘數永遠不會超過10,餘數不為負數

    //    printf("a = %d\n", a);

    // 産生一個【0,10】的随機數

    //    int a = arc4random() % 11;

    //    printf("a =  %d\n", a);

    // 産生一個【10,20】的随機數

    //    int b = arc4random() % (10 + 1) + 10;

    //    printf("b = %d\n", b);

    // 産生一個【15,20】的随機數

    // 要取一個【a,b】範圍内的随機數,公式是:arc4random() % (b - a + 1) + a;

    //    int b = arc4random() % (15 + 1) + 15;

    //    printf("b = %d\n", b);

    // 練習:從控制台接收一個數n,随機産生【0,n】範圍内的随機數

    //    int n ;

    //

    //    printf("請任意輸一個數:");

    //    scanf("%d", &n);

    //

    //    int c = arc4random() % (n + 1) ;

    //    printf("c = %d\n", c);

    // 使用者從控制台輸入一個n,用while列印n個随機數(範圍為[10~30])。

    // 1.定義一個變量,用來盛放使用者輸入的數字

    //    int n ;

    //    printf("請任意輸一個數:");

    //    // 2.使用輸入函數,來保護使用者輸入的數字

    //    scanf("%d", &n);

    //    // 3.使用while循環來控制列印次數

    //    // 3.1定義一個循環增量

    //    int temp  =0;

    //    // 3.2判斷循環增量是否滿足循環條件

    //    while ( temp < n) {

    //        // 3.3儲存生成的随機數

    //        int num = arc4random() % (20 + 1) + 10 ;

    //        printf("目前第%d次列印,随機數是%d\n", temp, num);

    //        temp++;

    //    }

    //

    //使用者從控制台輸⼊一個n,用while列印n個随機數(範圍為[30~70]), 找出n個随機數中的最大值。

    //    // 1.定義一個變量,用來存放使用者輸入的數字

    //    int n ;

    //    printf("請任意輸一個數:");

    //    // 2.使用scanf函數,來保護使用者輸入的數字

    //    scanf("%d", &n);

    //    // 3.使用while循環來控制列印次數

    //    // 3.1定義一個循環增量

    //    int temp  =0;

    //    // 3.1.1 定義一個變量,用來儲存目前最大值

    //    int maxValue =0;// "駝峰命名法": 從第二個單詞開始,每個單詞的首字母大寫

    //    // 3.2判斷循環增量是否滿足循環條件

    //    while ( temp < n) {

    //        // 3.3儲存生成的随機數

    //        int num = arc4random() % (40 + 1) + 30;

    //        printf("目前第%d次列印,随機數是%d\n", temp, num);

    //        if (maxValue < num) {

    //            maxValue = num;

    //        }

    //        // 3.4循環變量加一

    //        temp++;

    //    }

    //    // 4.将生成的全部随機數逐一比較後,才能确定最大的數字,并輸出

    //    printf("其中最大随機數是%d\n", maxValue);

    //    // 1.定義一個變量,用來存放使用者輸入的數字

    //    int n ;

    //    printf("請任意輸一個數:");

    //    // 2.使用scanf函數,來保護使用者輸入的數字

    //    scanf("%d", &n);

    //    // 3.使用while循環來控制列印次數

    //    // 3.1定義一個循環增量

    //    int temp  =0;

    //    // 3.1.1 定義一個變量,用來儲存目前最大值

    //    int maxValue =0;// "駝峰命名法": 從第二個單詞開始,每個單詞的首字母大寫

    //    // 3.2判斷循環增量是否滿足循環條件

    //    while ( temp < n) {

    //        // 3.3儲存生成的随機數

    //        int num = arc4random() % (40 + 1) + 30;

    //        printf("目前第%d次列印,随機數是%d\n", temp, num);

    //        maxValue = maxValue > num ? maxValue : num; // ?:條件運算符的巧妙使用!

    //        // 3.4循環變量加一

    //        temp++;

    //    }

    //    // 4.将生成的全部随機數逐一比較後,才能确定最大的數字,并輸出

    //    printf("其中最大随機數是%d\n", maxValue);

#pragma mark break和continue

    // 練習:依次輸出1——50之間的數,當輸出45後,停止輸出

    //    // 1.定義一個循環變量

    //    int num = 0;

    //    // 2.使用while開啟循環

    //    while (num <= 50) {

    //        if (num == 45) {

    //            break;

    //        }

    //        num++;

    //        printf("%d\n",num);

    //    }

    // 練習:依次輸出1——50個位為零的數

    //    int n = 0;

    //    while (n < 5) {

    //        printf("目前做了%d次\n",n);

    //        n++;

    //    }

    //    do{

    //        printf("目前做了%d次\n",n);

    //        n++;

    //    }while (n < 5);

#pragma mark for循環

    // 用for列印出1~100之間7的倍數。

    //    for (int i = 1; i <= 100; i++) {

    //

    //        if (i % 7 == 0) {

    //            printf("%d\n",i);

    //        }

    //    }

    // 用for列印出1~100之間個位為7的數。

    //    for (int i = 1; i <= 100; i++) {

    //        if (i % 10 == 7) {

    //            printf("%d\n", i);

    //        }

    //    }

    // 用for列印出1~100之間十位為7的數。

    //    for (int i = 1; i <= 100; i++) {

    //        if (i / 10 == 7) {

    //            printf("%d\n", i);

    //        }

    //    }

    // 用for列印出1~100之間不是7的倍數并且不包含7的數。

    //    for (int i = 1; i <= 100; i++) {

    //        if (i % 7 != 0 && i % 10 != 7 && i / 10 != 7 ) {

    //            printf("%d\n",i);

    //        }

    //    }

#pragma mark 循環嵌套

    // 第一步:列印123

    //    for (int i = 1; i <= 3; i ++) {

    //        printf("%d", i);

    //    }

    // 第二步:列印

    //    for (int i = 1; i <= 3; i++) {

    //        for (int j = 1; j <= 3; j++) {

    //            printf("%d", j);

    //        }

    //        printf("\n");

    //

    //    }

    // 第三步:列印

    //    for (int i = 1; i <= 3; i++) { // 外層循環控制列印的行數

    //

    //        for (int j = 1; j <= i; j++) { // 内層循環控制每行列印了多少次,和每次列印的數字是幾

    //            printf("%d ", j);

    //        }

    //

    //        printf("\n");

    //

    //    }

    // 列印乘法口訣表

    // 兩層循環,外層控制列印的行數(共9行),内層控制每行列印的次數(目前是第幾行,就列印幾次(幾列))

    //    for (int i = 1; i <= 9; i++) {

    //        

    //        for (int j = 1; j <= i; j++) {

    //            printf(" %d * %d = %-2d ", j, i, j*i); // %-2d控制長度

    //        }

    //        

    //        printf("\n");

    //    }

    // 列印三個數字(0 - 9)的組合可能(組合成三位數)。

    // 百位

    for (int i = 1; i <= 9; i++) {

        // 十位

        for (int j = 0; j <= 9; j++) {

            // 個位

            for (int k = 0; k <= 9; k++) {

                printf("%d ", i*100+j*10+k);

            }

        }

    }

    return 0;

}

繼續閱讀