数组(array)

一维数组

        数组可以存储一个固定大小的相同类型元素的顺序集合。

        同一数组中存储的数必须满足以下两个条件:

        ①这些数的类型必须相同。

        ②这些数在内存中必须是连续存储的。

声明数组和和初始化数组

        在 C 中要声明一个数组,需要指定元素的类型和元素的数量。您可以逐个初始化数组,也可以使用一个初始化语句。

        【】为数组运算符,框起来的部分代表数组中的元素,这里的元素就是变量的意思;数组中元素的个数又称数组的长度。

        通过给每个元素进行编号来进行区分,数组元素的编号又叫下标。数组中的下标是从 0 开始的(而不是 1)。        

         输出hige[4]的结果是1.5,此时输出的只是其中的元素high[4],从下标数依次为,0.1.2.3.4,结果为1.5,而不是1.4。

        输出high[5]则超过了元素的范围,此时输出的只是元素high[5],而非float high[5]。

         全部数组元素赋初值时,可不指定数组长度。

二维数组

        二维数组能够有效的解决行(column)和列(row)的队列数据处理,二维数组也称矩阵。

        初始化二维数组

        定义的形式一般为:

        (存储类型)数据类型 +数组名+【常量表达式】【常量表达式】

        定义一部分元素时,系统会自动给0,

        定义为0,元素都是0

        关于数组的练习需要熟练使用for循环。例:利用for循环嵌套,通过随机数产生二维数组,求两个数组的交集,交集保存到另外的数组。(初学者😅代码比较臃肿,没有省略for的括号,目的是为了更好的理解各个for循环之间的关系,出现BUG时也可以方便修改,过于冗长的表达后续会继续优化)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
	int arr_01[5]={0};
	int arr_02[5]={0};
	int arr_03[5]={0};
	int i,j;
	srand((unsigned)time(NULL));
	for(i=0;i<5;i++)
	{
		arr_01[i]=rand()%10+1;
		arr_02[i]=rand()%10+1;
	}
	printf("arr_01的数据为\n");
	for(i=0;i<5;i++)
	{
		printf("arr_01[%d]=%d \n",i,arr_01[i]);	
	}
		printf("\n");
	printf("arr_02的数据为\n");
	for(i=0;i<5;i++)
	{
		printf("arr_02[%d]=%d \n",i,arr_02[i]);	
	}	
		printf("\n");
for(i=0;i<5;i++)
	{
		for(j=0;j<5;j++)
		{
			if(arr_01[i]==arr_02[j])
			{
				arr_03[i]=arr_01[i];
			}
		}
	}
	for(i=0;i<5;i++)
	{
		for(j=0;j<5;j++)
		{
			if(i!=j)
			{
				if(arr_03[i]==arr_03[j])
					arr_03[j]=0;
			}
		}
	}
	printf("arr_01与arr_02的交集为=");
	for(i=0;i<5;i++)
	{
		if(arr_03[i]!=0)
			printf("%d,",arr_03[i]);
	}
	return 0;
 } 

 顺带练习一下打印

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值