搜索

...n]中查找值为K的元素,若找到则输出其位置i(1<=i<=n),否则输出0...

发布网友 发布时间:2024-10-24 01:24

我来回答

1个回答

热心网友 时间:2024-11-06 08:07

这个……除了模拟还有什么更优的算法吗?
从头开始扫描,并设一个变量find=0,如果找到了一个值等于K,输出相应位置,且令find=1,如果一直扫描到结尾还是没有符合条件的值,即find==0,那么输出0

我用C给你写
#include <stdio.h>
#define n 100 //这个值可以根据n的大小改
#define n 10 //这个值可以根据k的大小改

main()
{
int find=0,i;
long a[n+1];
//读入数组
for(i=1;i<=n;i++)
scanf("%ld",&a[i]);
//开始扫描
for(i=1;i<=n;i++)
if(a[i]==k)
{
printf("%ld\n",i);//输出位置
if(find==0)
find=1; //改变find
}
//确定是否找到
if(find==0)
printf("0\n"); //如果没找到输出0

return 0; //结束程序
}

随手打出来的,没有验证过语法错误,只是个算法大题思路,希望对你有所帮助
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top