第九题 顺序查找某个数的下标

来源:互联网 发布:网络认证怎么弄 编辑:程序博客网 时间:2024/06/07 08:17

我写的两种做法,应该都行吧,但是感觉第二种相当耗时间,毕竟空间大,memset的时间太长了////有关!=EOF的学习,发现在命令行中使用ctrl+z的输入(表示文件的结尾)////只有while(scanf("%d",&n)!=EOF)才会停止////while(scanf("%d",&n))不会停止////#include <stdio.h>//#include <algorithm>//#include <string.h>//////using namespace std;////int buf[10000001];////int main()//{//    int n;//    int cnt;//    int tmp;//    while(scanf("%d",&n)!=EOF)//    {//        memset(buf,-1,sizeof(buf));//        cnt=0;//        for(int i=0;i<n;i++)//        {//            scanf("%d",&tmp);//            buf[tmp+5000000]=cnt;//            cnt++;//        }////        scanf("%d",&tmp);//        tmp+=5000000;//        printf("%d\n",buf[tmp]);//    }////    return 0;//}#include <stdio.h>#include <algorithm>#include <string.h>#include <limits.h>#define MAX 2147483647using namespace std;int buf[201];int main(){    int n;    while(scanf("%d",&n))    {        memset(buf,MAX,sizeof(int));        for(int i=0;i<n;i++)        {            scanf("%d",&buf[i]);        }        int tmp;        scanf("%d",&tmp);        for(int i=0;i<n;i++)        {            if(tmp==buf[i])            {                printf("%d\n",i);                break;            }            if(i==n-1)                printf("%d\n",-1);        }    }    return 0;}

阅读全文
0 0
原创粉丝点击