...n]中查找值为K的元素,若找到则输出其位置i(1<=i<=n),否则输出0...
发布网友
发布时间:2024-10-24 01:24
我来回答
共1个回答
热心网友
时间:6分钟前
这个……除了模拟还有什么更优的算法吗?
从头开始扫描,并设一个变量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; //结束程序
}
随手打出来的,没有验证过语法错误,只是个算法大题思路,希望对你有所帮助