ios第四天

    // 數組定義:保存同種數據類型的多個數據

    

    // 聲明一個數組 保存年齡

    

    // [3] 3 代表的數組中元素個數

    // {} 中值 是數組中元素的初值 用逗號隔開

    // int 表示數組中每一個元素的數據類型

    // 聲明數組公式

    // 數據類型 數組名字[常亮表達式]= {初值1,初值2,...};

//    int ageArray[3] = {27, 19, 22};

//    float scoreArray[5] = {55.5, 66.6, 77.7, 88.8, 99.9};

//    

    

    // 數組元素個數可以用變量來表示 但是不可以進行初始化

//    int count = 5;

//    int array[count] = {1, 3, 5, 7, 9};

//    

    

    

    // 如果聲明數組時 數組元素的個數大於 給出的數組元素初值的個數   系統自動補0

//    int array2[5] = {2, 5, 7, 0, 0};

//    

//    

//    

//    // 相當於 int array3[5] = {0, 0, 0, 0, 0};

//    int array3[5] ={0};

//    

//    

//    

//    

//    // 聲明的時候沒有給定元素個數 那麼初值有幾個元素  這個數組就又幾個元素

//    int array4[] = {1, 4, 6, 7, 9};

//    

//    

//    

//    

//    

//    // 聲明字符類型數組 i p h o n e

//    char str[10] = {'i', 'p', 'h', 'o', 'n', 'e'};

//

//    

//    

//    

//    

//    // 字符串

//    char str1[] = "iphone";

    

    

    

    

    

    

    // 取出數組中元素

    // 使用 數組名[下標] 切記:下標從零開始

//    int array[3] = {27, 19, 22};

//    

//    printf("%d ",array[1]);

//    // 修改鵬舉年齡 19->39(真實年齡)

//    array[1] = 39;

//    printf("%d ",array[1]);

//    

//    

//    

//    // 輸出數組中的所有元素 遍歷

//    // 循環輸出

//    for (int i = 0; i < 6; i++) {

//        pintdf("%d ", array[i]);

//    }

    

    

    // 1、定義個具有20個元素的整型數組,每個元素的取值範圍是30-70之間,求數組元素的和。

//    int array[20] = {0};

//    int sum = 0;

//    for (int i = 0; i < 20; i++) {

//        int random= arc4random() % (70 - 30 +1) +30;

//        // 賦值數組的每一個元素

//        array[i] = random;

//        printf("%d",array[i]);

//        sum += array[i]; // 相當於 sum = sum + array[i];

//    }

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

    

    

    

    

    

   // 2、複製個數組,即兩個數組容量樣,把其中個數組中的元素複製到另外個數組中。

//    int array[5] = {3, 6, 9, 7, 10};

//    int array1[5] = {0};

//  

//    // 遍歷數組

//    for (int i = 0; i < 5; i++) {

//        // 把老數組的值出去來 賦值新數組的對應元素

//        array1[i] =array[i];

//        

//        printf("%d", array1[i]);

//    }

  

    

    

    // 3、成2個數組,每個數組都有10個元素,元素取值範圍20-40之間,數組對應元素相加,放到另外個數組中。

//    

//    int array[10];

//    int array1[10];

//    int array2[10];

//    for (int i = 0; i < 10; i++) {

//        int random = arc4random() % (40 - 20 + 1) + 20;

//        array[i] =random;

//        int random1 = arc4random() % (40 - 20 +1) + 20;

//        array1[i]= random1;

//        array2[i] = array[i] + array1[i] ;

//        printf("%d",array2[i]);

//    }

//    

    

    

    

    

    // 數組越界問題

    // 系統部會提示你越界 需要你自己注意

    // 切記: 不要數組越界

//    int array[5] = {1, 3, 5, 7, 9};

//    printf("%d",array[5]);

    

    

    // 數組在內存中 是一段連續的存儲區域


           // 並且 數組名字就是數組元素的首地址(第一個元素的地址)

           

           // 注意: 數組不能直接賦值

           // array1 = array2 錯誤的

           //數組的名字 是元素 地址 是一個地址 並且地址是一個常量 常量是程序執行期間不能改變的量 所以數組不能直接賦值

    

    

    

    

    // 冒泡排序

    // 精髓 : 前後兩個數比較大小 前後大於後面的 兩個數交換位置 依次繼續

    // 比較趟數 5 - 1 比較4

    // 每趟比較次數 5 - 1 - i(趟數)

//    int array[5] = {9, 7, 5, 3, 1};

//    // 外層控制比較的趟數

//    for (int i = 0 ; i < 5 - 1; i++) {

//        // 內層循環 控制每趟比較的次數

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

//           // 比較過程 2個數比大小 前面大 交換

//            if (array[j] > array[j+1]) {

//                // 交換 通過中間值交換(第三隻手)

//                int temp = array[j];

//                 array[j]= array[j+1];

//                array[j+1]= temp;

//            }

//            

//      }

//       

//    }

//    for (int j = 0 ; j < 5 ; j++) {

//        printf("%d ",array[j]);

//    }

//    

 

    

    

   // 1、隨機產10[20,40]數,並對10個數從到排序。

    

//    int array[10] = {0};

//    for (int i = 0; i < 10; i++) {

//        int random = arc4random() % (40 - 20 +1 ) + 20;

//        array[i] = random;

//

//            printf("%d",array[i]);

//

//        

//        printf("\n");

//    }

//    for (int i= 0; i < 10 ; i++) {

//        for (int k = 0; k < 10; k++) {

//            if (array[k] > array[k + 1]) {

//                int temp = array[k];

//                array[k] = array[k + 1];

//                array[k + 1] = temp;

//            

//            }

//        }

//    }

//    for (int k = 0; k < 10; k++) {

//        printf("%d ",array[k]);

//    }

//    

    

    

    

    

    // 字符數組兩種表現形式 iPhone

    // 字符串比字符數組多了一個'\0'

    // '\0'是用來 結束字符串的

//    char str1[] = {'i', 'p', 'h', 'o',

//        'n', 'e'};

//    char str2[] = "iPhone"; // 字符串

//    // 打印數據類型或者變量的 所佔字節數

//    // sizeof()

//    // %lu 無符號的長正型

//    // unsigned long number1 = sizeof(str1)

//    

//    printf("%lu",sizeof(str1));

//    

    

    

    // 計算字符串長度

    // strlen(要計算字符串)

//    char str[] = "I Love LanOu";

//    // 打印有效長度

//    // 從第一個字符開始 如果不是'\0' 長度加1 遇到'\0'結束 並且輸出的長度不包含'\0'

//    printf("%lu",strlen(str));

//    

    

    

    

    // 字符串的拷貝

    // 拷貝 : 從第一個字符開始拷貝 遇到'\0' 拷貝結束

    // 注意 : 目標字符串的長度最好大於源字符串

//    char str1[20] = {0};  // 目標字符串

//    char str2[] ="I Love LanOu"; // 源字符串

//    // strcpy(目標字符串, 源字符串)

//    strcpy(str1, str2);

//    // 打印字符串 %s 一個字符一個字符輸出 如果不是'\0' 就結束

//    printf("%s",str1);

//    //

//    

//    

//    


    

    

    

    

    // 字符串拼接

    // 注意: 被拼接的字符串長度一定要夠接受拼接完的字符串長度

//    char str1[100] = "jiang long ";

//    char str2[] = "Love zang jie";

//    

//    

//    // 把後面的str2 拼接到 str1 的後面

//    strcat(str1 , str2);

    

    

    

    

    // 字符串比較

//    char str1[] = "I Love You";

//    char str2[] = "I Niss You";

//    // 接受比較的結果

//    // 從第一個字符開始比較 如果一樣 繼續看第二個字符 如果不一樣 開始進行比較 比較的內容是該字符在ASCKII碼錶中對應數  前面的減後面的  得到一個返回值 返回值是正數  則前面大 反之 後面的大 然後比較結束 如果返回值是0 那麼兩個字符串相同

//    int number = strcmp(str1, str2);

//    

    

//    查找字符串中的空格數:

//    例如:“I love iOS, i want an iPhone5s”

//    6個空格

    // 聲明一個變量計算空格數

//    int count = 0;

//    char str[] = "I love iOS, i want an iPhone5s";

//    // 遍歷數組

//    for (int i = 0; i < strlen(str); i++) {

//        // 判斷這個字符是不是空格

//        if (str[i] ==' ') {

//            count++; // 如果是空格 就自增

//        }

//    }

//    

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

    

    

    

//    將字符串倒轉:

//    例如:“daozhenianshilv”

//    轉變成字符串“vlihsnainehzoad”

//    (注:是改變字符串本,不是反向輸出)

    // 聲明字符串

//    char str[] = "daozhenianshilv";

//    // 倒轉只需要 倒轉長度一半次數

//    for (int i = 0; i < strlen(str) / 2; i++) {

//        // 前後交換位置 利用第三變量

//        char temp = str[i];

//        str[i] = str[strlen(str) - i - 1];

//        str[strlen(str) - i - 1] = temp;

//        

//    }

//    printf("%s", str);

//    

    

    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章