#include <stdio.h>
int main()
{
int i, x, a[10];
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
printf("请输入要寻找的数字:\n");
scanf("%d", &x);
i = 0; // 此处添加这行代码,对循环变量i进行初始化,用于后续while循环的起始判断
while (i <= 9 && x!= a[i])
i++;
if (i > 9) // 此处修改判断条件,当i大于9说明遍历完数组没找到
printf("没找到!");
else
printf("第一次出现的位置是%d", i + 1);
return 0;
}
★解释
1. 变量定义与输入部分:
- 首先定义了整型变量 i 用于循环计数和数组元素的索引, x 用于存储要查找的数字, a 是一个能存放10个整数的整型数组。然后通过 for 循环配合 scanf 函数从键盘依次读入10个整数并存入数组 a 中,接着再通过 scanf 函数读入要查找的数字 x 。
2. 初始化与查找循环部分:
- 要添加 i = 0; 这行代码,因为前面的 for 循环结束后 i 的值为10了,而后面的 while 循环需要从数组的第一个元素开始查找(即 i 从0开始),所以需要重新初始化 i 为0。之后的 while 循环会在 i 小于等于9(保证不越界访问数组)并且要查找的数字 x 不等于当前数组元素 a[i] 的情况下持续进行循环,每循环一次 i 就自增1,这样就可以逐个元素去比较查找 x 在数组中的位置了。
3. 判断结果与输出部分:
- 在 while 循环结束后,通过 if 语句来判断查找的结果,如果 i 的值大于9,那就意味着已经遍历完整个数组(10个元素都找过了)但还是没找到与 x 相等的元素,此时输出“没找到!”;反之,如果 i 小于等于9,说明找到了,就输出 x 在数组中第一次出现的位置,由于数组下标从0开始,而题目要求输出的是位置(从1开始计数),所以输出 i + 1 。
该程序整体实现了从键盘输入10个数,再输入一个数并查找其在这10个数中第一次出现位置的功能,若没找到则给出相应提示。
标签:10,个数,while,查找,输入,数组,printf,循环 From: https://blog.csdn.net/2401_87723168/article/details/144238991