iOS C语言4_一维数组

来源:互联网 发布:什么是淘宝客服工作 编辑:程序博客网 时间:2024/05/22 06:27


//

//  main.m

//  C4_一维数组

//

//  Created by dllo on 15/7/3.

//  Copyright (c) 2015 zhozhicheng. All rights reserved.

//


#import <Foundation/Foundation.h>


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

    

//    // 最小公倍数

//    int m = 0,n = 0;

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

//    int num = m > n ? m : n;

//    // 用来保存找到的最小公倍数

//    int minNum = 0;

//    for (int i = num; i >= 1; i++) {

//        if (i % m == 0 && i % n ==0) {

//            minNum = i;

//            break;

//        }

//        

//    }

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

    

    // 最大公约数

   

//      int m = 0,n = 0;

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

//    

//      int min = m < n ? m : n;

//    // 用来保存最大公约数

//      int num = 0;

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

//        if (m % i == 0 && n % i == 0 ) {

//            num = i;

//            break;

//        }

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

//    

//

    

    

//    // 辗转相除法

//    int m = 0,n = 0;

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

//    

//    while (m % n != 0) {

//        int temp = m % n;

//        // nm

//        m = n;

//        // 结果给n

//        n = temp;

//        

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

//    

    

    

//    // 定义一个一维数组

//    int arr[5] = {1,2,3,4,5};

//    printf("%d\n",arr[4]);

    // C语言里,系统面对数组越界会产生一个警告,当前要访问的元素超过了下标的最大值,OC里数组越界会产生崩溃现象

    // 数组溢出

    

    // 遍历数组

//    int arr[5]= {2,1};

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

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

//    }

//

    

//    

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

//    int sum = 0;

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

//        arr[i] = arc4random() % (70 - 30 + 1) + 30;

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

//        sum = arr[i] + sum;

//    }

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

    

    // 练习1

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

//    // 范围 30- 70

//    

//    // 定义一个用来保存和值的一个变量

//    int sum = 0;

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

//        arr[i] = arc4random() % (70 - 30 + 1) + 30;

//        sum = sum + arr[i];

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

//    }

//    

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

    

    

    

    

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

//    int max = 0,min = 70;

//    // 用来保存最大值最小值所在数组的下标

//    int maxIndex = 0,minIndex = 0;

//    

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

//         arr[i] = arc4random() % (70 - 30 + 1) + 30;

//        if (max < arr[i]) {

//            max = arr[i];

//            maxIndex = i;

//           

//        }

//        if (min > arr[i]) {

//            min = arr[i];

//            minIndex = i;

//        }

//        

//    }printf("%d\n%d\n",max,min);

//    printf("%d\n%d\n",maxIndex,minIndex);

//    

    

//    // 练习2

//    // 复制两个数组

//    // 1.定义两个数组,长度相同

//    int arr[20] = {0},b[20] = {20};

//    // 给其中一个数组进行随机数赋值,范围30-70

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

//        arr[i] = arc4random() % (70 - 30 + 1) + 30;

//        // b数组进行赋值操作

//        b[i] = arr[i];

//        

//    }

    

    

    //用数组来保存和值

    // 1000种情况打印出来

    

//    int arr[28] = {0};

//    

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

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

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

//                arr[i + j + k]++;

//

//            }

//        }

//    }

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

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

//    }

//

    

    

    

//    // 练习3

//    int arr[10]={0},b[10]={0},c[10]={0};

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

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

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

//        c[i] = arr[i] + b[i];

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

//    }

    

    

//    // 冒泡排序

//    int arr[6]={2,1,5,6,3,4};

//    // 外部循环-1 :循环执行到还有两个数没有排序的时候,只需要把未排序的两个数交换即可,执行次数是数组个数-1

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

//        // 内部循环-1:为了防止数组越界,在内部循环处-1

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

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

//                int temp = 0;

//                temp = arr[j];

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

//                arr[j + 1]= temp;

//            }

//    }

//    }

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

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

//        

//    }

    

    

    

    

//    

//     int arr[6]={2,1,5,6,3,4};

//    // 重新写一遍冒号排序

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

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

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

//                int temp =0;

//                temp = arr[j];

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

//                arr[j + 1]= temp;

//            }

//        }

//    }

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

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

//

//    }

    

    

//    // 随机产生十个[20,40]随机数,并对十个数从小到大排序

//    // 定义长度10的数组

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

//    // 产生随机数,对数组进行赋值操作

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

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

//    }

//    // 对已经复制完成的数组进行排序操作

//    // 对一个赋值完成的数组进行操作,不会出现问题

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

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

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

//                int temp = 0;

//                temp = arr[j];

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

//                arr[j+1]= temp;

//            }

//        }

//        // 打印排序结果

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

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

//    }

//    

    

    

//   // 字符数组和字符串

////    int arr[6]={1,2,3,4,5,6};

//   // 字符数组

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

//    // 下标是5的元素进行赋值

//    str[5] = 'w';

//    

//    

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

//        printf("%c\n",str[i]);

//    }

    

//    // 字符串

    // 双引号 

//    char str[]="iphone";

//    // 字符数组

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

//    

//    int arr[5]= {1,3,2,6,4};

//    printf("%ld\n",sizeof(arr));

//    // 区别在于:字符串比字符数组在结尾的地方有一个'\0',\0是字符串结束的标志,\0的字符数组才可以称为字符串

//    // 打印字符串

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

//    

//    // %s打印是通过寻找字符串结束标志'\0',碰到'\0'就会结束打印

    

    

    

    

//    // 关于字符串的一些功能函数

//    char str[] = "iphone";

//    

//    // 字符串长度

//    printf("%l d\n",strlen(str));

//    // strlen 是肉眼能看见的字符个数

//    printf("%l d\n",sizeof (str));

//    // sizeof 是字符串所占空间的大小 包括'\0'

    

//    char str[] = "iphone";

//    // 字符串的拷贝

//    char newStr[10]= "";

//    strcpy(newStr, str );

//    printf("%s\n",newStr);

    

    

    // 字符串的拼接

//    

//    char str1[20] = " I have";

//    char str2[20] = " iPhone";

//    strcat(str1, str2);

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

    

    //被拼接的字符串长度要足够长

    

    

   //  字符串的比较

    

//    char str1[] = "aba";

//    char str2[] = "adc";

//    printf("%d\n",strcmp(str1, str2));

    

    


    

//    //用来记录空格数

//    int number = 0;

//    char str[] = "lads asdj hdh asdv asdls";

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

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

//            number = number + 1;

//                    }

//    }printf("%d\n",number);

    

    

//    char str[]="khfyomj";

//    // 反向输出

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

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

//        

//    }

//    printf("\n");

    

//    // 倒转

//    char str[] = {"world"};

//    int len = strlen(str);

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

//        char c = str[i];

//        str[i] = str[len - 1 - i ];

//        str[len -1 -i ] = c;

//        

//    }

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

    

    

    

    

    

    

    

    

    

    

    

    

   return 0;

}


0 0