C 语言查找数组中最大和最小数字的程序

如何使用 For 循环和示例编写 C 程序来查找数组中的最大和最小数字。

C 语言查找数组中最大和最小数字的程序

此程序允许用户输入一维数组的大小和元素。接下来,我们使用 For 循环查找数组元素中的最小和最大数字。我们还显示相应的索引位置。

#include<stdio.h>
int main()
{
	int a[10], Size, i, Minimum, Min_Position, Maximum, Max_Position;
	
	printf("\nPlease Enter the size of an array  :  ");
	scanf("%d",&Size);
	
	printf("\nPlease Enter %d elements of an array: \n", Size);
	for(i=0; i<Size; i++)
	{
		scanf("%d",&a[i]);
	}   
 
  	Minimum = a[0];
  	Maximum = a[0];
  	
	for(i=1; i<Size; i++)
   	{
    	if(Minimum > a[i])
     	{
       		Minimum = a[i];
       		Min_Position = i;
	 	}
	   	if(Maximum < a[i])
     	{
       		Maximum=a[i];
       		Max_Position = i;
     	}    
   	}
  
  	printf("\n Smallest element in an Array = %d", Minimum);
  	printf("\n Index position of the Smallest element = %d", Min_Position);
  	
  	printf("\n Largest element in an Array = %d", Maximum);
  	printf("\n Index position of the Largest element = %d", Max_Position);
  	return 0;
}
C Program to find Largest and Smallest Number in an Array 1

在这个 C 语言查找最大和最小数字的程序中,以下几行代码会将第一个数组元素(索引位置 0 处的元素)分配给 Minimum 和 Maximum 变量。

Minimum = a[0];
Maximum = a[0];

在这里,For 循环将确保数字在 0 和一维数组的最大大小值之间。在这个C 语言示例中,它将是 0 到 7。

For 循环 – 第一次迭代:for(i = 1; 1 < 8; 1++)
条件为真,因此它将进入If 语句

if(Minimum > a[i]) = if(25 > 89) – 这意味着条件为假。因此,它将退出 If 块,并进入下一个 If 块。
if(Maximum < a[i]) = if(25 < 89) – 这意味着条件为真。
Maximum = 89。
Max_Position = 1。

接下来,i 将增加 1。

C 语言使用 For 循环查找数组中最大和最小数字的程序 – 第二次迭代:for(i = 2; 2 < 8; 2++)。
For 循环中的条件为真。

if(25 > 63) – 这意味着条件为假,因此它将进入下一个 If 块。
if(89 < 63) – 条件为假,因此它将退出 else 块,接下来 i 将增加 1。

第三次迭代:for(i = 3; 3 < 8; 3++)
For 循环中的条件为真。

if(25 > 47) – 这意味着条件为假,因此它将进入下一个 If 块。
if(89 < 47) – 条件为假,因此它将退出 else 块,接下来 i 将增加 1。

第四次迭代:for(i = 4; 4 < 8; 4++)
For 循环中的表达式为真,因此C 语言编译器将进入 If 语句。

if(25 > 5) – 真。
Minimum = 5。
Min_Position = 4。

接下来,C 语言编译器将进入第二个 If 块,以查找数组中的最大和最小数字。

if(89 < 5) – 假。因此,它将退出 else 块,接下来 i 将增加 1。

第五次迭代:for(i = 5; 5 < 8; 5++)
For 循环中的条件为真。因此,编译器将进入 If 语句。

if(5 > 158) – 这意味着条件为假,因此它将进入下一个 If 块。
if(89 < 158) – 这意味着条件为真。
Maximum = 158。
Max_Position = 5。
接下来,i 将增加 1。

第六次迭代:for(i = 6; 6 < 8; 6++)
For 循环中的条件为真,因此编译器将进入 If 语句。

if(5 > 256) – 这意味着条件为假,因此它将进入下一个 If 块。
if(158 < 256) – 这意味着条件为真。
Maximum = 256。
Max_Position = 6。

接下来,i 将增加 1。

第七次迭代:for(i = 7; 7<8; 7++)

For 循环中的条件为真,因此编译器将进入查找数组中最大和最小数字的 If 语句。

if(5 > 2) – 真。
Minimum = 2。
Min_Position = 7。
接下来,它将进入第二个 If 块。

if(256 < 2) – 假。因此,它将退出 else 块,接下来 i 将增加 1。

第八次迭代:for(i = 7; 7 < 8; 7++)
For 循环中的条件为假。因此,编译器将退出 For 循环并打印输出。