作为网站的作者,我很高兴向你展示使用C语言实现在一个数组中查找最大的三个数字的完整攻略。下面是具体的步骤:
步骤一:定义数组
首先,我们需要定义一个包含数字的数组,这个数组可以是任何大小,这里我们定义一个包含10个元素的数组,数组中的元素分别为:10, 20, 30, 40, 50, 60, 70, 80, 90, 100。
int arr[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
步骤二:定义三个变量
我们需要定义三个变量来存储最大的三个数字。我们给这三个变量分别命名为max1
、max2
和max3
。
int max1 = -9999, max2 = -9999, max3 = -9999;
上述代码中,我们初始化这三个变量的值为-9999
,这样在碰到比数组中的任意数字小的数值时,这三个变量的值就会被替换。
步骤三:循环遍历数组
我们使用一个for
循环来遍历这个数组,原理是每遍历一次都会将数组的一个元素和max1
对比,过程如下:
for (int i = 0; i < 10; i++) {
if (arr[i] > max1) {
max3 = max2;
max2 = max1;
max1 = arr[i];
} else if (arr[i] > max2) {
max3 = max2;
max2 = arr[i];
} else if (arr[i] > max3) {
max3 = arr[i];
}
}
在上述代码中,我们使用了嵌套的if else
语句,当程序运行后,每次执行一个数组元素就会对比其值和max1
的大小,如果这个元素的值大于max1
,则max3
的值被max2
覆盖、max2
的值被max1
覆盖、max1
的值被这个元素的值所覆盖;如果这个元素的值小于max1
但大于max2
,则max3
的值被max2
覆盖、max2
的值被这个元素的值所覆盖;如果这个元素的值小于max1
并且小于max2
,但大于max3
,则max3
的值被这个元素的值所覆盖。
最后,在循环结束后,变量max1
、max2
和max3
所存储的分别是这个数组中最大的三个数字。
步骤四:打印输出
我们可以使用printf
函数来输出这个数组中最大的三个数字,代码如下:
printf("max1 = %d\n", max1);
printf("max2 = %d\n", max2);
printf("max3 = %d\n", max3);
当我们运行这段代码时,就可以在控制台输出这个数组中最大的三个数字。
下面是两条示例:
示例一
如果我们定义一个包含10个元素的数组,数组中的元素分别为:1, 2, 3, 4, 5, 6, 7, 8, 9, 10。
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
运行代码输出结果为:
max1 = 10
max2 = 9
max3 = 8
示例二
如果我们定义一个包含10个元素的数组,数组中的元素分别为:43, 65, 23, 89, 37, 92, 19, 70, 80, 57。
int arr[10] = {43, 65, 23, 89, 37, 92, 19, 70, 80, 57};
运行代码输出结果为:
max1 = 92
max2 = 89
max3 = 80
以上便是使用C语言实现在一个数组中查找最大的三个数字的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C 程序 查找最大的三个数字 - Python技术站