码迷,mamicode.com
首页 > 编程语言 > 详细

一维数组

时间:2015-07-03 22:04:53      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:

//

//  main.m

//  C4_一维数组

//

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

//  Copyright (c) 2015年 cml. 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(0 == i % m && 0 == i % n ){

//            minNum = i;

//            break;

//        }

//    }

//    printf("最小公倍数:%d\n",minNum);

//    

    

      // 最大公约数

//    int m = 0,n = 0;

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

//    

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

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

//    int maxNum = 0;

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

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

//            maxNum = i;

//            break;

//        }

//    }printf("最大公约数为:%d",maxNum);

    

    

//    int m = 0, n = 0;

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

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

//        int temp = m % n;

//        m = 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, 6, 4, 9};

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

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

//    }

    

    // 练习1

    

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

//    int m = 0; // 用来保存和值的变量

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

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

//        m += arr[i];

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

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

    

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

//    int sum = 0;

//    int max = 0;

//    int min = 70;

//    // 保存最大值和最小值所在数组里的下标

//    int maxIndex = 0;

//    int minIndex = 0;

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

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

//        sum += arr[i];

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

//            maxIndex=i;

//        }

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

//            minIndex = i;

//        }

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

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

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

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

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

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

//    

    

    // 练习二

    //复制两个数组

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

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

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

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

//        arr[0]=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的次数是:%d\n",i,arr[i]);

//    }

    

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

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

//        for (int )

//    }

//    

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

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

//        

//            arr[i] =arc4random()% (21) +20;

//            b[i] =arc4random()% (21) + 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 = 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 = arr[j];

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

//                arr[j+1] = temp;

//            }

//            

//        }

//    }

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

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

//    }

//    

//    

    

    

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

//    // 1.定义长度为10的数组

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

//    

//    

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

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

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

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

//    }

//    

//    // 3.对已经赋值的数组进行排序操作

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

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

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

//                int temp = arr[j];

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

//                    arr[j+1] = temp;

//            }

//        }

//    }

//        

//    // 4.打印排序结果

//    

//        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",str[i] );

//       

//    } printf("\n");

//    

//    

    

//      // 字符串

//      char str[] = "ipho\0ne";

//      // 字符数组

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

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

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

//    

//     // 打印字符串

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

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

//    

//    

    

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

//    char  str[] ="iphone";

    

//    //  字符串的长度

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

//    // strlen是肉眼能看到的字符数,到‘\0‘结束,不包括‘\0‘

//    

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

//    // sizeof是自负所占的空间大小,包括‘\0‘

//   

    

    

    // 字符串的拷贝

//    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[] = "adcd";

//    char str2[] = "acc";

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

//    

       //

//    char str[] ="sakldj  lasjkd  aslkdjsadkl dj";

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

//    int count  = 0;

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

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

//            

//            count +=1;

//        }

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

    

      //

//    char str[] ="afjnpue";

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

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

//            int  temp

//        }

//    }

    

    

    //反向输出

    char str[] = "afjnpue";

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

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

//    }printf("\n");

//    

 

    // 倒转

//    int len = strlen(str );

//    

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

//        char c = str[i];

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

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

//

//    }

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

//    

//    

// 

一维数组

标签:

原文地址:http://www.cnblogs.com/cmle/p/4619747.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!