如何编写 C 语言程序查找数组中的最大数,或者说,如何找到一维数组中最大或最大的数。以及数组中最大数的索引位置。
C 语言查找数组中最大数的示例程序
这个查找数组中最大数的程序会让用户输入元素个数。接下来,它将使用 For 循环查找数组中的最大元素。
#include<stdio.h>
int main()
{
int a[10], Size, i, Largest, Position;
printf("\nPlease Enter the size of an array \n");
scanf("%d",&Size);
printf("\nPlease Enter %d elements of an array: \n", Size);
for(i=0; i<Size; i++)
{
scanf("%d",&a[i]);
}
Largest = a[0];
for(i=1; i<Size; i++)
{
if(Largest<a[i])
{
Largest=a[i];
Position = i;
}
}
printf("\nLargest element in an Array = %d", Largest);
printf("\nIndex position of the Largest element = %d", Position);
return 0;
}

在这个查找数组中最大数的示例程序中,下面的 For 循环将遍历 a[4] 中的每个单元格。For 循环中的条件 (i < Size) 将确保编译器不会超出限制。请参考 C 语言数组 以了解大小、索引位置等概念。
For 循环中的 scanf 语句会将用户输入的数值存储到每个单独的元素中,例如 a[0]、a[1]、a[2]、a[3]。在下一行 C 语言编程 中,我们将 a[0] 的值赋给了 Largest 变量。
在这个最大的数组数字程序的下一行,我们还有一个 for 循环。它用于遍历其中的每个元素。其中的 If 语句通过将每个元素与 Largest 值进行比较来找到最大的数字。
从上面的 C 语言查找数组中最大数的示例截图可以看出,用户输入的数值是
a[4] = {10, 25, 95, 75}
Largest = a[0] = 10
第一次迭代
i 的值为 1,条件 (i < 4) 为 True。因此,它将开始执行循环内的语句,直到条件失败。
For 循环中的 If 语句 (Largest < a[i]) 为 True,因为 (10 < 25)
Largest = a[i] => a[1]
Largest = 25
Position = 1
第二次迭代:i 的值为 2,条件 (2 < 4) 为 True。
For 循环中的 If 语句 (Largest < a[2]) 为 True,因为 (25 < 95)
Largest = a[2] = 95
Position = 2
第三次迭代:i 的值为 3,条件 (3 < 4) 为 True。
For 循环中的 If 语句 (Largest < a[3]) 为 False,因为 (95 < 75)。因此,largest 值不会被更新。这意味着
Largest = 95
Position = 2
C 语言查找数组中最大数的第四次迭代
递增 i 的值后,i 将变为 5,条件 (i < Size) 将失败。因此,它将退出循环。
下面的 printf 语句用于打印其中的最大数。在本例中,它是 95。
printf("\nLargest element = %d", Largest);
下面的 printf 语句用于打印其中最大数的索引位置。在这个 C 语言程序 示例中,它出现在位置 2
printf("\nIndex position of the Largest element = %d", Position);
评论已关闭。