iOS第4天数组排序


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    //创建5个整型变量
    //对器 ctrl + i
//    int a = 1;
//    int b = 2;
//    int c = 3;
//    int d = 4;
//    int f = 5;
//    
//    int n1 = 0;
//    int n2 = 0;
//    int n3 = 0;
//    int n4 = 0;
//    int n5 = 0;
//    int n6 = 0;
//    int n7 = 0;
//    int n8 = 0;
//    int n9 = 0;
//    int n10 = 0;
    //数组
    /*
     本质: 快速定义多个相同数据类型的变量
     定义: 数据类型 数组名[数组元素个数] = {值1, 值2, ..., 值n};
     移动:cmd alt + []
     数组的确定:定义出来的是相同数据类型的变量
     //注意1:最后一个数组元素的下标是:数组元素的个数 -1
     //注意2:c语言,不会检测数组下标越界
     */
    //    short array1[10] = {1,2,3,5};
    //    char array2[10] = {'a','b'};
    //    int c[5] = {0};
    //    int  d[] = {9, 5, 2, 7};//在没有给定数组元素个数的时候,可以按照该模式,此时一定要写轻搓所有的初值
    //    //创建 float ,short,char 类型的数组,元素各十个
//    int array[10] = {1,2,3,4,5,6,7,8,9,10};
//    for (int i = 0 ; i < 10 ;i++)
//    {
//        printf("array[%d] = %d",  i, array[i]);
//    }
    //定义20个元素
    /*
    int a[10] = {0};
    int b[10] = {0};
    int c[10] = {0};
    for (int i = 0 ; i < 10; i++) {
        a[i] = arc4random() % (40 - 20 + 1) + 20;
        
        printf("a%d 
",a[i]);
  
    }
    for (int i = 0; i < 10; i++) {
        b[i] = a[i];
        printf("b = %d 
", b[i]);
    }
    for (int i = 0; i < 10 ; i++) {
        c[i] = a[i] + b[i];
    }
     */
//    int a[10] = {0};
//    int max = 0;
//    for (int i = 0; i < 10  ; i++) {
//        a[i] = arc4random() % (40 - 20 +1) + 20;
//        
//        
//        
//        printf("%d ",a[i]);
//        max = max > a[i] ? max : a[i];
//    }
//    printf("最大值是%d",max);
    
    
    //冒泡排序
    /*
    int a[5] = {38,24,18,29,10};
    //5个元素第1趟比较了4次,第2趟比较了3次,第3趟比较了2次,第4次比较1次
    
    int tem = 0;
    //这里的i<4不是5防止数组元素越界
    //这里是走了一趟,找到了最大值
    //外层循环控制比较的趟数
    //外层循环 -1可减可不减,-1是为了提高程序的效率
   for (int j = 0; j < 5 - 1; j++) {
    //内层循环控制比较的次数
    //内层循环,-1必须减,目的:防止数组下标越界
    //内层循环,-j可减可不减,-j是为了提高效率
        for (int i = 0; i < 5 - 1 -j ; i++) {
            if (a[i] > a[i+1]) {
                //如果前面的大于后面的交换
                tem = a[i];
                a[i] = a[i+1];
                a[i+1] = tem;
            }
        }
    }

    for (int i = 0; i < 5; i++) {
        printf("%d ",a[i]);
    }
     */
    /*
    //运行的快捷键cmd+R;
    //定义十个元素的整型数组,[10, 30]随机数,升序排列,然后输出
    int  a[10] = {0};
    int temp = 0;
    for (int i = 0; i < 10; i++) {
        a[i] = arc4random() % (30 - 10 +1) + 10;
    }
//    for (int i = 0; i < 10 - 1;  i++) {
//        for (int j = 0; j < 10 - 1 - i;  j++) {
//            if (a[j] > a[j+1]) {
//                temp = a[j];
//                a[j] = a[j+1];
//                a[j+1] = temp;
//            }
//        }
//    }
    for (int i = 0; i < 10 - 1; i++) {
        for (int j = 0; j < 10 - 1 - i; j++) {
            if (a[j] < a[j + 1]) {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < 10 ; i++) {
        printf("%d ",a[i]);
    }
     */
    //字符数组
    //定义数组
    /*
    char charArray[7] = {'n', 's', 'd', 'b', 'b', 'b', 's'};
    char str[] = "iPhone";//字符串,末尾存在隐含字符
    printf("%s 
",str);
    //访问单个
    printf("%c 
", charArray[0]);
    for (int i = 0; i < 7; i++) {
        printf("%c ",charArray[i]);
    } 
     */
    //字符串
    //字符串是字符数组,但是字符数组不一定是字符串.
    //%s 从字符串第一个字符开始输出,直到遇到  结束输出
    //srrlen 求的是字符串看到的长度
    //1.计算字符串长度的函数
    char string1[] = "iPad";
     int length = (int)strlen(string1);
    printf("%d 
", length);
    //2.字符串拷贝函数: strcpy(), 将后一个字符串的内容,拷贝给前一个字符串.
    //注意:后一个字符串的长度,不能超过前一个字符串
    char string2[] = "iPod";
    // char  string3[]  = "iPone";
    strcpy(string1, string2);
    printf("%s
",string1);
    printf("%s
",string2);
    //3.字符串的拼接函数: strcat(),将后一个字符串拼接到前一个字符串的后面(从前一个字符串的位置开始拼接)
    strcat(string2, string2);
    printf("%s
",string2);
    //4.字符串比较函数: strcmp(),前一个字符串,与后一个字符串,逐个进行,直到寻找到不相等的字符结束;返回的是,前一个字符串与后一个字符串不相等字符串之间的差值(前一个字符串中的字符,减去后一个字符串中的字符
    int result = strcmp(string1 , string2);
    printf("%d 
", result);
    return 0;
}
原文地址:https://www.cnblogs.com/wohaoxue/p/4656198.html