本关任务:在一长度为 n(n<=10) 的组数据中,查找任意输入的一个数据 x ,并输出它的位置,若找不到,则输出“查无此数”。 相关知识 为了完成本关任务,你需要掌握: 掌握一维数组的定义、赋值和输入输出的方法; 掌握与数组有关的算法。 实验预习要求 提前预习 VC++ 开发环境,掌握 C 语言程序编辑、编译、链接和运行过程。 提前设计实验内容的算法,编写代码。 编程要求 根据提示,在右侧编辑器的 Begin-End 区域内补充代码,完成以下任务: 在一长度为 n(n<=10) 的组数据中,查找任意输入的一个数据 x ,并输出它的位置,若找不到,则输出“查无此数”。 注意数组编号从0开始。 测试说明 平台会对你编写的代码进行测试,若测试输出与预期输出相同,则算通过,否则不通过: 例如: 测试输入: 5 2 1 3 4 2 5 预期输出: 3
时间: 2023-06-05 20:07:51 浏览: 128
西安电子科技大学期末数据结构试题及详细答案.docx
以下是代码实现:
#include <stdio.h>
int main() {
int n, x; // 定义数组长度 n 和待查找的数据 x
int a[10], i, flag = 0; // 定义数组 a 和标志变量 flag
scanf("%d", &n); // 输入数组长度
for (i = 0; i < n; i++) { // 输入数组元素
scanf("%d", &a[i]);
}
scanf("%d", &x); // 输入待查找的数据
for (i = 0; i < n; i++) { // 遍历数组 a
if (a[i] == x) { // 找到待查找的数据 x
printf("%d", i); // 输出数据 x 的位置
flag = 1; // 标记已找到数据 x
break; // 跳出循环
}
}
if (flag == 0) { // 没有找到待查找的数据 x
printf("查无此数");
}
return 0;
}
请注意,此程序只能在 C 语言编译器中编译和运行,不能在 C++ 等其他语言的编译器中运行。
阅读全文