您的位置:首页 > 编程语言 > C语言/C++

C语言--二维数组,字符串数组,多维数组

2014-06-15 21:33 483 查看
 
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){//    int a[2][3]={//        {1,2,3},//        {4,5,6}//    };//    int a[2][3]={1,2,3,4,5,6};//    //打印单个元素//    printf("%d",a[1][1]);//    //元素没赋全,默认为0//    int b[2][3]={{1,2,3},{4}};//    //    //    //    //3行4列浮点型数据//    float c[3][4]={//        {2.5},//        {3.3},//        {2.1,4.8}//    };//    for (int i = 0; i<3; i++) {//        for (int j = 0; j<4; j++) {#pragma mark----------------------%g科学计数法,保留小数后面,去掉0后面的//     //%g科学计数法,保留小数后面,去掉0后面的//            printf("%g ",c[i][j]);//        }//        printf("\n");//    }    //定义一个三行四列的整数,随机范围0-30//    int a[3][4]={0};//    for (int i = 0; i<3; i++) {//        for (int j = 0 ; j<4; j++) {//            a[i][j]=arc4random()%(30+1);//            printf("%2d ",a[i][j]);//        }//        printf("\n");//    }    //把行和列交换,放到一个新的数组//    int b[4][3]={0};//    for (int i =0; i<3; i++) {//        for (int j = 0; j<4; j++) {//            b[j][i]=a[i][j];//        }//    }//    printf("\n");//    for (int i = 0; i<4; i++) {//        for (int j = 0; j<3; j++) {//            printf("%-2d ",b[i][j]);//        }//        printf("\n");//    }        //找出最大元素,并输入行和列//    int max = 0;//    for (int i =0 ; i<3; i++) {//        for (int j =0; j<4; j++) {//            if (max<a[i][j]) {//                max=a[i][j];//            }//        }//    }//    for (int i = 0; i<3; i++) {//        for (int j = 0; j<4; j++) {//            if (max==a[i][j]) {//                printf("max=%d,i=%d,j=%d",max,i,j);//            }//        }//    }        //    char str[6][20]={//        "zuoyoudong",//        "fanghao",//        "yaozhaodi",//        "dengyongjun",//        "makeyu",//        "yangzhigang"//    };    //操作字符串    //打印单个字符串    //printf("%s",str[第一维下标])    //打印字符串数组中所有字符串//    long maxLength = 0;//    for (int i = 0; i<6; i++) {//        printf("%s ",str[i]);//      printf("%ld",strlen(str[i]));//求长度//      printf("%s",strcpy(str[i], "zhangsan"));//赋值//      printf("%s",strcat(str[i], "bushiwoge"));//拼接//      printf("%d",strcmp(str[i], "zuoyoudong"));//比较//        if (maxLength < strlen(str[i])) {//            maxLength = strlen(str[i]);//        }//    }#pragma mark----------对字符串操作,对字符操作    //对字符串操作,    //第一,打印    //第二,求长度    //第三,赋值    //第四,拼接    //第五,比较    //第六,排序(冒泡)            //对字符操作    //第一,赋值    //第二,取值    //需要数组名,加双下标    //    printf("\n%c",str[0][6]);        //数组是一个容器//    printf("\n");//    for (int i = 0; i<6-1; i++) {//        for (int j = 0; j<6-1-i; j++) {//            if (strcmp(str[j], str[j+1])>0) {//如果第j个字符串大于第j+1个字符串//                char temp[20] ={0};//定义一个临时的字符串,以便交换值//                strcpy(temp, str[j]);//                strcpy(str[j],str[j+1]);//                strcpy(str[j+1], temp);//            }//        }//    }//    printf("\n");//    for (int i = 0; i<6; i++) {////        printf("%s ",str[i]);//        if (maxLength == strlen(str[i]) ) {//            printf("最长的单词是%s,长度是%lu   ",str[i],maxLength);//        }//    }                                //1.将一个二维数组的行和列交换,放到一个新的数组中去//    int a[2][3]={//        {1,5,9},//        {3,2,8}//    };//    int b[3][2]={0};//    for (int i = 0; i<2; i++) {//        for (int j = 0; j<3; j++) {//            b[j][i]=a[i][j];//        }//    }//    for (int i = 0; i<3; i++) {//        for ( int j = 0; j<2; j++) {//            printf("%d ",b[i][j]);//        }//        printf("\n");//    }    //2.有一个三行四列的二维数组,找出其中的最大值并写出所在行和列//    int a[3][4]={//        {7,4,3,8},//        {2,12,18,6},//        {21,33,50,25},//    };//    int max = 0;//    for (int i = 0; i<3; i++) {//        for (int j = 0; j<4; j++) {//            if (max<a[i][j]) {//                max=a[i][j];//            }//        }//    }//    for (int i = 0; i<3; i++) {//        for (int j = 0; j<4; j++) {//            if (max==a[i][j]) {//                printf("最大值是%d,所在行是%d和列是%d",max,i,j);//            }//        }//    }    //3.输入三个单词,查找并输出最长的单词//    printf("请输入三个单词:");//    char a[3][10]={//        "zuo",//        "you",//        "dong"//    };    //输入三个字符串//    char a[3][20]={0};//    for (int i = 0; i<3; i++) {//         scanf("%s",a[i]);//    }////    printf("%s",a[0]);//    long maxLength = 0;//    for (int i =0; i<3; i++) {//        if (maxLength<strlen(a[i])) {//            maxLength=strlen(a[i]);//        }//    }//    for (int i = 0; i<3; i++) {//        if (maxLength==strlen(a[i])) {////            printf("%s",a[i]);//            printf("%ld %s",maxLength,a[i]);//        }//    }        //有10个姓名,按从小到大排列出来//    char str[10][20]={//        "zhangsan",//        "lisi",//        "wangerma",//        "cuiyayun",//        "yunjie",//        "fanghao",//        "zuoyoudong",//        "liuping",//        "zuoyouwei",//        "liuhui"//    };//    char temp[20]={0};//    for (int i = 0; i<10-1; i++) {//        for (int j = 0; j<10-1-i; j++) {//            if (strcmp(str[j], str[j+1])>0) {//                strcpy(temp, str[j]);//                strcpy(str[j], str[j+1]);//                strcpy(str[j+1], temp);//            }//        }//    }//    for (int i = 0; i<10; i++) {//        printf("%s ",str[i]);//    }    //把字符变成全大写,AC码大写A65,a97,减去32            return 0;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: