C语言--二维数组,字符串数组,多维数组
版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/zuoyou1314/article/details/31037121
#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;
}