C4_一维数组

//

//  main.m

//  C4_一维数组

//

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

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

//


#import <Foundation/Foundation.h>


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

{

//    // 定义一个简单的一维数组

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

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

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


//    // 遍历数组

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

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

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

//    }

    

//    // 练习1.

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

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

//    int sum = 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;

//        sum += arr[i];

//        max = arr[i] > max ? arr[i] : max;

//        min = arr[i] < min ? arr[i] : min;

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

//    }

//    // 找出最大值和最小值的下标

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

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

//            maxIndex = i;

//        }

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

//            minIndex = i;

//        }

//    }

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

//    printf("最大值为%d,是第%d个数\n",max,maxIndex);

//    printf("最小值为%d,是第%d个数\n",min,minIndex);


//    // 练习2.

//    // 复制两个数组

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

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

//    // 给其中一个数组进行随机数赋值

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

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

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

//        brr[i] = arr[i];

//    }

    

//    // 用数组保存和值

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

//    // 循环写出1000种情况

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

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

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

                printf("%d%d%d\t",a,b,c);

//                arr[a + b + c]++;

//            }

//        }

//    }

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

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

//    }


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

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

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

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

//                arr[a + b + c]++;

//            }

//        }

//    }

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

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

//    }

    

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

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

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

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

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

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

//        }


//    // 冒泡排序 (每次循环都把大的数向最后移)

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

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

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

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

//        for (int j = 0; j < 6 - 1 - i; j++) { // 6-1-i 为了防止不必要的比较

//            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, 6, 5, 4, 3};

//    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]);

//    }

    

//    int arr[6] = {12, 14, 11, 15, 1, 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 = arr[j];

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

//                arr[j + 1] = temp;

//            }

//        }

//    }

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

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

//    }

    

//    // 练习2.

//    // 定义长度为10的整型数组

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

//    // 产生随机数

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

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

//    }

//    // 对随机数进行排序

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

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

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

//                int temp = arr[k];

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

//                arr[k + 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] = 'y';

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

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

//    }

//    // 字符串

//    char str[] = "iPhone";

//    // 字符数组

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

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

//    // 区别在于'\0',\0是字符串结束的标志,\0的字符数组称为字符串

    

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

//    char str[10] = "iPhone";

//    // 字符串长度

//    printf("%ld\n",strlen(str)); // strlen是肉眼所见的字符串的长度

//    printf("%ld\n",sizeof(str)); // sizeof是字符串所占空间大小,包括'\0'

    

//    // 字符串的拷贝

//    char newStr[10] = "";

//    strcpy(newStr, str); // 任何内容被const所修饰,内容不会发生变化

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


//    // 字符串的拼接

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

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

//    strcat(str1, str2);

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

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

    

//    // 字符串比较

//    char str1[] = "abc";

//    char str2[] = "ab";

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

    

//    // 练习3.

//    char str[] = "jj hh dd aa ss zz";

//    int count = 0;

//    long lenth = strlen(str);

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

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

//            count++;

//        }

//    }

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

    

//    // 练习4.

//    char str[] = "eupnjfa";

//    long j = strlen(str);

//    for (long i = j - 1; i >= 0; i--) {

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

//    }

//    // 反向输出

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

//        char c = str[i];

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

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

//    }

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

    

    

    

    

    

    return 0;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值