C++数组(第八节)

数组的诞生大致是为了解决和方便处理大批数据,例如:一所小学的学生共有5000人,那么一次考试就有5000人的成绩;我们如果用5000个变量来存估计写变量头都大,这时候就可以使用数组来存储了,到这应该能感性的理解数组实质是一类相同元素的集合。

一维数组定义:类型名 数组名[数组容量]

#include <iostream>

using namespace std;

int main()
{
	//定义一个大小10000的双精度数据类型的数组,假定存储n个学生的成绩
	double score[10000];
	int n;
	cin >> n;
	//注意数组的位置是从0开始,到n-1,称之为数组的下标
	for(int i = 0; i < n; ++i)
	{
		cin >> score[i];//输入每个人成绩存储
	}
	//输出每个人的成绩
	for(int i = 0; i < n; ++i)
	{
		cout << score[i] << ' ';
	}
	cout << endl;
	//修改(n / 2)位置学生的成绩为100,注意int的除法取整数部分
	//比如:11 / 2 = 5,31 / 4 = 7, 62 / 2 = 31
	
	score[n / 2] = 100;
	//查看成绩是否修改成功
	for(int i = 0; i < n; ++i)
	{
		cout << score[i] << ' ';
	}
	cout << endl;
	return 0;
}

如果我们遇到像excel一样的表格数据该怎么存储呢,这时候就就用二维数组了,数组类型 数组名[数组行][数组列]

#include <iostream>

using namespace std;

int main()
{
	//定义一个100行100列的二维数组,n行m列
	int a[100][100], n, m;
	cin >> n >> m;
	//填上数据
	for(int i = 0; i < n; ++i)
	{
		for(int j = 0; j < m; ++j)
		{
			cin >> a[i][j];
		}
	}
	//输出
	for(int i = 0; i < n; ++i)
	{
		for(int j = 0; j < m; ++j)
		{
			cout << a[i][j] << ' ';
		}
		cout << endl;
	}
	//在第n/2行每个数都加5
	//如果for中就一条语句可以不用{}
	for(int i = 0; i < m; ++i)
		a[n / 2][i] += 5;
	//输出验证
	for(int i = 0; i < n; ++i)
	{
		for(int j = 0; j < m; ++j)
		{
			cout << a[i][j] << ' ';
		}
		cout << endl;
	}
	return 0;
}

同理多维数组的构建:类型名称 数组名[][][][]...,虽然数组可以建若干维度,但平时常用的就一维二维三维。

洛谷练习题:https://www.luogu.com.cn/training/103#problems

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值