如何编写一个 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;
}

在此 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