• 第四节 一维数组


    #import <Foundation/Foundation.h>

     

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

        

        //刚开始的序列 18 58 7 37 22

        //第一趟:

        //第一次:18 58 7 37 22

        //第二次:18 7 58 37 22

        //第三次:18 7 37 58 22

        //第四次:18 7 37 22 58 第一趟得到了一个最大的数为58

        

        //第二趟:

        //第一次:7 18 37 22

        //第二次:7 18 37 22

        //第三次:7 18 22 37 第二趟得到了一个第二大的数37

        

        //第三趟:

        //第一次:7 18 22

        //第二次:7 18 22 第三趟得到了一个第三大的数22

        

        //第四趟:

        //第一次:7 18 第四趟出结果得到了一个第四大的数,自然而然剩下的那个数就是最小的。排序结束

        //最终的排序结果为 7 18 22 37 58

        

        //冒泡排序的原则是:比较相邻两个数的大小,如果前面的大于后面的,交换位置,否则位置不动,依次比较完成之后,从每一趟中都可以得到这一趟比较的所有数中最大的那个数。

        //count 表示 数组容量。array 代表数组名

        //这个是好理解版本

        /*

        for (int i = 1; i < count; i ++) {//控制趟数

            for (int j = 0; j < count - i; j ++) {//控制的是每一趟比较多少次

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

                    int temp = array[j];

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

                    array[j + 1] = temp;

                }

            }

        }

        */

        

        /*

        for (int i = 0; i < count - 1; i ++) {//控制趟数

            for (int j = 0; j < count - i - 1; j ++) {//控制的是每一趟比较多少次

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

                    int temp = array[j];

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

                    array[j + 1] = temp;

                }

            }

        }

         */

        

        //定义一个具有十个元素的整型数组,随机赋值(范围2040),并且按照升序 输出 所有的元素。

        /*

        int array[10] = {0};

        //1、通过for循环给数组元素进行随机赋值

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

            array[i] = arc4random() % (40 - 20 + 1) + 20;

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

        }

        

        printf(" ");

        

        //2、冒泡排序

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

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

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

                    int temp = array[j];

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

                    array[j + 1] = temp;

                }

            }

        }

        

        //通过for循环将排序好后的数组元素打印出来

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

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

        }

        */

        

        //字符数组

        //字符数组 就是存放 字符类型元素的容器。string

        /*

        char str1[30] = {'i', 'P', 'h', 'o', 'n', 'e'};

        

        char str2[30] = "iPhone";//这种方式 是我们以后声明字符数组的常用方式。

        

        char str3[30] = {'i', 'P', 'h', 'o', 'n', 'e', ''};

        //C语言中的字符串就是以 '' 结尾的字符数组。

        

        //打印C语言字符串 占位符为 %s

        printf("str1 = %s, str2 = %s, str3 = %s",str1, str2, str3);

        */

        

        //字符串操作函数

        //1、计算字符串长度的函数 strlen();

        char str[30] = "iPhone6sPlus";

        char str1[10] = {'i', 'P', 'h', 'o', ''};

    //    int a = 10;

    //    a = 11;

    //    

    //    const int b = 11;

    //    b = 12;

        

        //字符串长度的类型为无符号的长整型,打印占位符为%lu

        unsigned long strLength = strlen(str);

        printf("strLength is %lu,%lu",strLength,strlen(str1));

        

        //2、字符串拷贝函数 strcpy

        char str2[30] = {0};

        char str3[30] = "i want an iPhone6sPlus";

        strcpy(str2, str3);//str3里面的内容拷贝到str2里面。

        printf("str2 = %s, str3 = %s",str2, str3);

        

        //3、字符串拼接函数 strcat

        char str4[255] = "marry beautiful girl";

        char str5[30] = "become a boss";

        strcat(str4, str5);

        printf("str4 = %s",str4);

        

        //4、字符串比较函数 strcmp

        char str6[30] = "i want a girlFriend";

        char str7[30] = "i want a boyFriend";

       

        //result的结果为 两个字符串首位不相同的字符 ascii码值的差值。

        int result = strcmp(str6, str7);

        printf("result = %d",result);

        

        if (result > 0) {

            char strTemp[30] = {0};

            //字符串的交换需要借助拷贝函数,不能直接赋值

            strcpy(strTemp, str6);

            strcpy(str6, str7);

            strcpy(str7, strTemp);

        }

        

        /**

         *  将字符串 倒转:

         例如:“afjnpue”

         转变 成字符串“eupnjfa”

         (注:是改变 字符串本身,不是 反向输出)

         */

        

        char string[30] = "fangyuanbaili";

        

        int length = (int)strlen(string);

        

        printf(" ");

        

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

            char temp = string[i];

            string[i] = string[length - 1 - i];

            string[length - 1 - i] = temp;

        }

        

        printf("%s",string);

        

    //    for (int i = length - 1; i >= 0; i --) {

    //        printf("%c",string[i]);

    //    }

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        return 0;

    }

  • 相关阅读:
    Putting Apache Kafka To Use: A Practical Guide to Building a Stream Data Platform-part 2
    Putting Apache Kafka To Use: A Practical Guide to Building a Stream Data Platform-part 1
    Apache Kafka之设计
    分布式内存文件系统Tachyon
    Tachyon:Spark生态系统中的分布式内存文件系统
    Python垃圾回收机制
    一行 Python 实现并行化 -- 日常多线程操作的新思路
    Hive SQL的编译过程
    vim调整粘贴时的文本缩进
    linux img文件 分区挂载
  • 原文地址:https://www.cnblogs.com/xlsn0w/p/4851246.html
Copyright © 2020-2023  润新知