批量处理数据——一维数组

目录

一维数组

定义

引用

初始化 

例子

二维数组

定义

引用

初始化

例子


一维数组


定义


       当我我们存储3个学生的数学成绩的时候,可以定义3个浮点型变量进行存储。当我们要定义40个学生的数学成绩的时候我们可以定义40个浮点型变量进行存储。但是这样很繁琐,且不能很好反应这些数据具有相同的属性。因此我们可以通过数组对有一组数据类型相同的有限数据进行存储。

      数组的定义(如下图示):

     标识符的命名规则(如下图示):


引用


当我们定义数组并且赋值了之后,就可以引用数组中的元素了,但是引用的是数组中的一个元素,不能是整个数组的全部元素的值。


初始化 



例子


下面通过两个例子,对一维数组的学习进行一定的巩固。

例1:通过数组类存储斐波那契数列(前20位)

#include<stdio.h>
int main()
{
	int i = 0;
	int fibonacci[20] = { 1,1 };//对前面两个数赋初值1,1.为赋值的为0.
	for (i = 2; i < 20; i++)
	{
		fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
	}
	for (i = 0; i < 20; i++)
	{
		printf("%12d   ", fibonacci[i]);
		
	}
	return 0;
}

例2:冒泡排序

#include<stdio.h>
int main()
{
	int arr[] = { 9,8,7,6,5,4,3,2,1,0 };
	int zs = sizeof(arr) / sizeof(arr[0]);//计算数组元素的个数
	for (int i = 0; i < zs - 1; i++)     
	{
		for (int j = 0; j < zs - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1])   //进行一次冒泡排序
			{
				int tem = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tem;
			}
		}
	}
	for (int i = 0; i < zs ; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

二维数组


定义


在军训的时候,我们通常会以排位单位,一个排又会分为各个班。若要存储每个班每个人的数据,使用二维数组会比较方便。第一维用来表示各个班,第二位表示第几个队员。

二维数组的定义如下所示:


引用


二维数组的引用与一位数组类似,具体见下图:


初始化



例子


1.矩阵的转置

#include<stdio.h>
int main()
{
	int arr1[2][3] = { 1,2,3,4,5,6 };
	int arr2[3][2] = { 0 };
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			arr2[j][i] = arr1[i][j];
		}
	}
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 2; j++)
		{
			printf("%d  ",arr2[i][j]);
		}
		printf("\n");
	}
	return 0;
}

2.求3×4的矩阵中的最大值,并且求出行号和列号

#include <stdio.h>
int main()
{
	int arr[3][4] = { {1,2,3,4}, {5,6,7,8}, {10,-1,-2,-3} };
	int max = arr[0][0];
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			if (arr[i][j] > max)
			{
				max =arr[i][j];			
			}
		}
	}
	printf("%d", max);
	return 0;
}

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值