一维数组概念和例题“求十个整数的最大值”共同讲解

本文详细介绍了C语言中一维数组的概念、初始化方法,包括数组下标和如何使用sizeof计算元素个数。通过实例演示如何求解十个整数中的最大值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.一维数组的基本概念:它是相同类型的元素在连续内存空间中,按一定顺序排列而成的数据结合。

基本语法:

type arr_name [常量值]

type表示的是存放的数据类型,arr_name表示的是数组名,[常量值]表示的是数组的大小。例如:

int arr [10]

2.数组的初始化:

基本结构:

int arr_name [常量值] = {初始化的值}

例如,我想要定义一个这整形arr数组,数组长度为5,里面放1,2,3,4,5这五个元素。那么是这样写的:

int arr [5] = {1,2,3,4,5}

或者我想要数组为10,里面的数全部初始化为0,那么:

int arr [10] = {0}

3.数组的下标:

在C语言中,数组是有下标的,第一个元素的下标是0.

例如有五个元素:    6  7  8  9 10

那么他们的下标为:0  1  2  3  4

因此,我们要想访问第i个元素,那么就使用 arr[i-1]

4.关于sizeof计算数组元素个数:

如果我们要想知道元素的个数,那么在C语言中是有办法解决的。那就得用到sizeof,可以计算数组的大小。

计算元素个数的方法:

int sz = sizeof(arr)/sizeof(arr[0])

sizeof(arr)表示的是整个数组所占空间的大小,而sizeof(arr[0])表示的是一个元素所占空间的大小。所以最后得到的sz就是元素的个数。

5.例题的讲解:“求十个整数之中的最大值”

5.1 第一步,我们要定义一个整型类型的arr数组,设置数组的长度为10,并且里面的元素全部初始化为0

int sz = sizeof(arr)/sizeof(arr[0])

5.2 第二步,我们用i来表示元素的下标,并且方便后面的for循环打印和scanf函数的使用:

int i = 0;
for(i=0; i<sz; i++)
{
   scanf("%d",&arr[i]);
}

5.3 第三步,就开始判断了。

因为我们不知道十个数里面哪一个是最大的,因此我们可以先假设第一个元素arr[0]是最大的,

int Max = arr[0];

让它去与后面的元素比较,若后面的元素比它大,则后面的元素就为Max,以此类推,知道循环结束,就可以找到最大值了。

int Max = arr[0];//arr[0]表示数组arr的第一个元素,它是按下标来计数的。
for (i = 0; i < sz; i++)
{
	if (arr[i] > Max)
	{
		Max = arr[i];
	}

}

总体代码的实现:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int arr[10] = { 0 };//定义一个整型数组arr,数组长度为10,所有元素初始值为0.
	int i = 0;
	int sz = sizeof(arr) / sizeof(arr[0]);//sz = 整个数组空间大小/一个元素空间大小=元素个数
	printf("请输入十个整数>");
	for (i = 0; i < sz; i++)
	{
		scanf("%d", &arr[i]);
	}
	int Max = arr[0];//arr[0]表示数组arr的第一个元素,它是按下标来计数的。
	for (i = 0; i < sz; i++)
	{
		if (arr[i] > Max)
		{
			Max = arr[i];
		}

	}
	printf("%d", Max);
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值