栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言二维数组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言二维数组

C语言二维数组 认识二维数组

一般二维数组用来制作地图较多在内存上的长相
如何创建二维数组

//NO.1 如何创建二维数组,固定语法: 
//类型 数组名[数组长度1][数组长度2];
int array[2][2]; 
//数组长度1: 2-->行
//数组长度2: 2-->列
//总元素个数:数组长度1*数组长度2
//最大下标是: 数组名[数组长度1-1][数组长度2-1]   array[1][1]

二维数组的初始化

//No.1 完整初始化
int array[2][2]={1,2,3,4};
//No.2 默认初始化
int array2[2][2]={1,2};
//No.3  第一行两个元素:1,2;第二行两个元素:3,4;
int array3[2][2]={{1,2},{3,4}};
//No.4 带{}默认初始化 ,一个{}代表一行
int array4[3][4]={{1},{2},{3}};   //第一行第一个元素:1,第二个第一个元素:2,第三行第一个元素:3
//No.5 数据完整初始化,数组长度1可以不写
int array5[][3]={1,2,3,4,5,6,7,8,9}; //自动推导数组长度1是:3

二维数组的基本操作

行列数据的操作(excel表数据操作)

行求和列求和 二维数组充当地图矩阵变化 二维数组操作字符串初始化

  //No.6	字符串初始化	其中2为字符串个数,10为字符串最大长度+1,字符串以‘’结尾
  char c[2][10]={{"hellow"},{"mess"}};

遍历多个字符串排序

#include
#include
int main()
{
	char name[5][10]={{""}};
	int num[5][4]={0};
	printf("请输入:n姓名 语文 数学 英语n");
	for (int i = 0; i < 4; i++)
	{
        //在二维数组中用一个下标表示每一行的首地址
        //输入姓名
		scanf_s("%s", name[i], 10);
        //输入三个分数
		for (int j = 0; j < 3; j++)
		{
			scanf_s("%d", &num[i][j]);
		}
	}
	//行求和
	for (int i = 0; i < 4; i++)    //求个人总分
	{
		int sum = 0;
		for (int j = 0; j < 3; j++)
		{
			sum += num[i][j];
		}
		num[i][3] = sum;
	}
	//列求和
	for (int i = 0; i < 4; i++)		求学科总分
	{
		int sum = 0;
		for (int j = 0; j < 4; j++)
		{
			sum += num[j][i];
		}
		num[4][i] = sum;
	}
	//冒泡排序
	for (int i = 0; i < 4; i++)				
	{
		for (int j = 0; j < 4 - i; j++)
		{
			if (num[j][3] > num[j + 1][3])
			{
				{
				//字符串排序
					char temp[10];
					strcpy_s(temp, 10, name[j]);
					strcpy_s(name[j], 10, name[j + 1]);
					strcpy_s(name[j + 1], 10, temp);
				}
				{
				//数据排序
					for (int k = 0; k < 4; k++)
					{
						int temp = num[j][k];
						num[j][k] = num[j + 1][k];
						num[j + 1][k] = temp;
					}
				}
			}
		}
	}
	//打印
	printf("n姓名tt语文t数学t英语t个人总分n");			
	for (int i = 0; i < 5; i++)
	{
		if (i == 4)
		{
			printf("学科总分t");
		}
		else
		{
			printf("%stt", name[i]);
		}
		for (int j = 0; j < 4; j++)
		{
			printf("%dt", num[i][j]);
		}
		printf("n");
	}
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/769476.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号