二维数组
类型说明符[常量表达式1(可省略)][常量表达式2] = { };
字符串数组
eg : char strings[3][10] = { "iPhone" , "Android" , "win8" } ;
// 二维数组
// int array[3][4] = { 0 };
// int n = 1;
// for (int i = 0 ; i < 3 ; i ++ ) {
// for ( int j = 0 ; j < 4 ; j ++ ) {
// array[i] [j] = n ++ ;
// printf(" - \t" , array [i] [j] );
// }
// printf( " \n" );
// }
// printf("\n");
//
// int array1[4] [3] = {0};
// printf( " { ");
// for (int i = 0 ; i < 4 ; i ++ ) {
// for ( int j = 0 ; j < 3 ; j ++ ) {
// array1 [i] [j ] = array[ j ] [ i ] ;
// printf(" - \t" , array1 [i] [j] );
// if (i == 3 && j == 2 ) {
// printf( " } ");
// }
// }
// printf( " \n " ) ;
// }
// printf( " \n ");
// int array [3] [4] = {0};
// int max = 0 , a= 0 , b = 0 ;
// for ( int i = 0 ; i < 3 ; i ++ ) {
// for ( int j = 0 ; j < 4 ; j ++ ) {
// array[i] [j] = arc4random()A + 30 ;
// if (max < array[i] [j] ) {
// max = array[i] [j] ;
// a = i ;
// b = j ;
// }
// printf(" - " , array[i] [j] ) ;
// }
// printf( "\n " );
// }
// printf(" 最大值为 : - 下标为 : [%d][%d] \n " , max , a , b );
// int array [3] [4] = {0};
// int a= 0 , b = 0 ;
// for ( int i = 0 ; i < 3 ; i ++ ) {
// for ( int j = 0 ; j < 4 ; j ++ ) {
// array[i] [j] = arc4random()A + 30 ;
// if (array[a] [b] < array[i] [j] ) {
// array[a] [b] = array[i] [j] ;
// a = i ;
// b = j ;
// }
// printf(" - " , array[i] [j] ) ;
// }
// printf( "\n " );
// }
// printf(" 最大值为 : - 下标为 : [%d][%d] \n " , array[ a] [b ] , a , b );
// char str[6] [10] = { "iPhone " , "Android " , "winPhone" , "HTML5 " , "Cocos2D-X" , "Unity3D"};
// for ( int i = 0 ; i < 6 ; i ++ ) {
// printf( " %s \n" , str[i] );
// }
// char tep[10] = { 0} ;
// strcpy(tep, str[1]);
// strcpy(str[1], str[4]);
// strcpy(str[4], tep);
// for ( int i = 0 ; i < 6 ; i ++ ) {
// printf( " %s \n" , str[i] );
// }
//
// int a[6] = {0};
// int b = 0 ;
// char temp[10] = {0};
// for (int i = 0 ; i < 6; i ++ ) {
// for ( int j = 0 ; j < 10 ; j ++ ) {
// if (str[i] [j] != '0') {
// a[i] ++;
// }
// }
// if (b < a[i] ) {
// strcpy(temp , str[i]);
// }
// }
// printf(" %s " , temp );
// int len = 0 , index= 0 ;
// for ( int i = 0 ; i < 6 ; i ++ ) {
// if (strlen(str[i] )> len ) {
// len = (int)strlen(str[i]);
// index = i ;
// }
// }
// printf("%s\n" , str[ index ]);
输入6个字符串,并对它们按从小到大的顺序排序后输出。
找出一个二维数组中的“鞍点”,即该位置上的元素在该行中最大,在该列中最小(也可能没鞍点),打印出有关信息。【附加题】
有一个三行四列的整形数组,取值范围是30 - 90,求出每行当中的最大值,最小值,以及每行元素的和
// printf( " 题目一 : \n\n\n" );
// char str[6][10] = { 0 } ;
// for ( int i = 0 ; i < 6 ; i ++ ) {
// scanf( "%s" , str[i] );
// }
// for ( int i = 0 ; i < 5 ; i ++ ) {
// for ( int j = 0 ; j < 5-i ; j ++ ) {
// if (strlen(str[j] ) > strlen(str[j+1])) {
// char temp[10] = {0};
// strcpy(temp, str[j]);
// strcpy(str[j], str[j+1]);
// strcpy(str[j+1], temp);
// }
// }
// }
// for ( int i = 0 ; i < 6 ; i ++ ) {
// printf( " %s\n", str[i] ) ;
// }
// printf( " 题目二 : \n\n\n" );
// int str[3][3] = {0};
// for (int i = 0; i < 3; i++) {
// for (int j = 0; j < 3; j++) {
// str[i][j] = arc4random() % 21;
// printf("= ",str[i][j]);
// }
// printf("\n");
// }
// for (int m = 0; m < 3; m++) {
// int max = 0;
// int min = 21;
// for (int n = 0; n < 3; n++) {
// max = max > str[m][n] ? max : str[m][n];
// }
// for (int p = 0 ; p < 2; p++) {
// if (str[m][p] == max) {
// for (int k = 0; k < 3;k++ ) {
// min = min < str[k][p] ? min : str[k][p];
// }
// if (max == min) {
// printf("%d\n",max);
// }
// }
// }
// }
// int array[3][4] = {0} ;
// for ( int i = 0 ; i < 3 ; i ++ ) {
// for ( int j = 0 ; j < 4 ; j ++ ) {
// array[i][j] = arc4random() % 20 + 10 ;
// printf( " = " , array[i][j] ) ;
// }
// printf( " \n" ) ;
// }
// int n = 0 ;
// for ( int i = 0 ; i < 3 ; i ++ ) {
// int max = 0 , min = 30, row = 0 , col = 0 ;
// for ( int j = 0 ; j < 4 ; j ++ ) {
// if (array[i][j] > max ) {
// max = array [i][j] ;
// col = j;
// }
// }
// for ( int k = 0 ; k < 4 ; k ++ ) {
// if (array[i][k] == max ) {
// for ( int h = 0 ; h < 3 ; h ++ ) {
// if ( min > array[h][k] ) {
// min = array[h][k] ;
// row = h ;
// }
// }
// if (max == min ) {
// n = max ;
// printf( " 该数组有鞍点 : array[%d][%d] = %d \n\n" , row, col ,n );
// }
// }
// }
// }
// if ( n == 0 ) {
// printf( " 该数组没有鞍点 !!!\n\n" ) ;
// }
// printf( " 题目三 : \n\n\n" );
// int array[3][4] = {0};
// for (int i = 0 ; i < 3 ; i ++ ) {
// int max = 0 , min = 90 , sum = 0 ;
// for ( int j = 0 ; j < 4 ; j ++ ) {
// array[i][j] = arc4random()a + 30;
// printf( " %d \t " , array[i][j] ) ;
// max = max > array [i][j] ? max : array[i][j];
// min = min < array[i][j] ? min : array[i][j];
// sum += array[i][j];
// }
// printf( " \n\n\n ") ;
// printf( " 本行当中最大值为 : - 最小值为 : - 各个元素之和为 -\n\n\n " , max , min , sum );
// }
//
printf( " 题目三 : \n\n\n" );
int array[3][4] = {0};
for (int i = 0 ; i < 3 ; i ++ ) {
for ( int j = 0 ; j < 4 ; j ++ ) {
array[i][j] = arc4random()a + 30;
printf( "%d \t" , array[i][j] ) ;
}
printf( "\n") ;
}
for ( int i = 0 ; i < 3 ; i ++ ) {
int max = 0 , min = 90 , sum = 0 ;
for ( int j = 0 ; j < 4 ; j ++ ) {
max = max > array [i][j] ? max : array[i][j];
min = min < array[i][j] ? min : array[i][j];
sum += array[i][j];
}
printf( "第 %d 行当中最大值为 : - 最小值为 : - 各个元素之和为 -\n" , i +1 , max , min , sum );