C 语言数组查找元素程序

如何编写一个 C 语言数组查找元素示例程序?在此之前,让我们先来了解一下这个数组查找元素程序。

C 语言数组查找元素程序

此程序要求用户输入数组大小、元素和要查找的项。接下来,该 C 语言数组查找元素程序将使用 For 循环检查用户输入的查找项是否存在。

#include<stdio.h>

int main()
{
  	int arr[10], Size, i, Search, Flag;
  
  	printf("\n Please Enter the size of an array :  ");
  	scanf("%d",&Size);
 
  	printf("\n Please Enter %d elements of an array: \n", Size);
  	for(i = 0; i < Size; i++)
   	{
   	 	scanf("%d",&arr[i]);
   	}
	
	printf("\n Please Enter the Search Element  :  ");
  	scanf("%d",&Search);      
 
  	Flag = 0;
  	for(i = 0; i < Size; i++)
   	{
   		if(arr[i] == Search)
     	{
       		Flag = 1;
       		break;
	 	}   
   	}
  
  	if(Flag == 1)
  	{
  		printf("\n We found the Search Element %d at Position %d ", Search, i + 1);
	}
	else
	{
		printf("\n Sorry!! We haven't found the the Search Element %d ", Search);
	}	
  	return 0;
}
Program to Search an Element in an Array 1

在此 C 语言数组查找元素程序中,我们声明了一个大小为 10 的一维数组 arr[],并声明了变量 i 用于迭代数组元素。请参阅 C 语言数组 文章,了解数组大小、索引位置等概念。

下面的 C 编程 语句要求用户输入 arr[] 的大小(它可以处理的元素数量),并将用户输入的值赋给 Size 变量。

printf("\n Please Enter the size of an array \n");
scanf("%d",&Size);

下面的 For 循环 有助于迭代数组中的每个单元格。For 循环条件确保编译器不会超出限制。

For 循环中的 scanf 语句将用户输入的值存储到单独的数组元素中,例如 arr[0]、arr[1]、arr[2]、arr[3]、arr[4]。

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

在此 程序 的下一行,我们还有一个 For 循环,用于迭代数组中的每个元素。For 循环内的 If 语句 将检查 arr[i] 是否等于要查找的项。如果为真,则 Flag 将变为 1,并退出循环(使用 Break 语句)。

for(i = 0; i < Size; i++)
   	{
   		if(arr[i] == Search)
     	{
       		Flag = 1;
       		break;
	 	}   
   	}

从上面的屏幕截图可以观察到,用户为 C 语言数组查找元素程序输入的值是:

a[5] = {10, 20, 30, 20, 40} and search Item = 20

第一次迭代

i 的值为 0,条件 (i < 5) 为真。因此,它将开始执行循环内的语句,直到条件失败。

If (arr[i] == Search) => if(10 == 20) - 条件为假

第二次迭代:i 的值将变为 1,条件 (1 < 5) 为真。

If (arr[1] == Search) => if(20 == 20) – 条件为真
Flag = 1

接下来,Break 语句将退出循环。

接下来,我们使用 If Else 语句检查 Flag 值是否等于 1。如果为真,则表示找到了该项,否则表示未找到。

让我尝试不同的元素。

 Please Enter the size of an array :  10

 Please Enter 10 elements of an array: 
10 20 30 40 50 60 70 10 20 50

 Please Enter the Search Element  :  100

 Sorry!! We haven't found the the Search Element 100