从键盘任意输入10个整数存入一个数组中, 然后任意输入一个整数x,采用顺序查找法,在数组中查找该数, 如果找到,则函数返回该数在数组中的下标位置, 并在主函数中打印该值; 如果没有找到,则返回-1,并在主函数中打印“Not found!”。 要求按如下函数原型编程实现查找功能。 int Search(int a[], int n, int x); 在主函数中调用函数Search顺序查找x, 然后在主函数中打印查找结果。 要求必须按照题目要求和用函数编程,否则不给分。 **要求输入10个整数的提示信息格式为: "Input 10 numbers:\n"(每输入一个数,键一次回车); **要求输入整数x的提示信息格式为: "Input x:\n" **要求输出格式为: 找到时的打印格式为"Subscript of x is %d\n" 没找到时的打印格式为"Not found!\n"
一种参考答案
#define _CRT_SECURE_NO_WARNINGS 1 //不用微软编译器可忽略
#include<stdio.h>
int Search(int b[], int n, int x)
{
b[10];
int flag = 0;//作为是否找到的标志
printf("Input 10 numbers:\n");
n = 0;
for (n = 0; n < 10; n++)
{
scanf("%d", &b[n]);//遍历输入
}
printf("Input x:\n");
scanf("%d", &x);
n = 0;
for ( n = 0; n < 10; n++)
{
if (b[n] == x)
{
printf("Subscript of x is %d\n",n);
return n;
break;//找到立即跳出循环
}
else
{
flag = -1;//找不到赋值为-1,作为后续判断的标志
}
}
if (flag == -1)
{
printf("Not found!\n");
return -1;
}
}
int main()
{
int a[10], n=0, x=0;//调用函数需要先定义变量
Search(a, n, x);//调用函数
return 0;
}
若有错误敬请指正