hnust 档案管理

问题 E: 档案管理

时间限制: 1 Sec  内存限制: 128 MB
提交: 274  解决: 105
[提交][状态][讨论版]

题目描述

X老师管理着学校的档案室,经常会有其他的老师来档案室存文件和取文件,每次有老师来取文件时,X老师就要在档案室里苦苦的找文件。你是X老师的学生,得知了X老师找文件很辛苦后,想为X老师写个文件管理程序,这对学计算机专业的你来说只是小Case。你的程序的功能有:

1 file1 //.给新文件file1添加一个新的编号

2 file2 //根据输入的文件名file2输出其相应的文件编号。

 

输入

先输入一个整数n。0<n<101。代表有n次操作,接下来有n行,每行有一个整数(1或2),表示相应的操作(添加或查找),和一个文件名(由小写字母组成,长度不超过20),表示相应的操作对象。测试数据保证同一个文件不会被添加两次

 

输出

对于每个2型操作输出一行,即被查找文件相应的编号,若文件不存在则输出”The file does not exist”。

 

样例输入

5
1 xueshengziliao
2 abcd
2 xueshengziliao
1 abcd
2 abcd

样例输出

The file does not exist
1
2


开始以为要用map,,,后来在提交的时候wa了3发,然后老老实实用的数组过的,。。
#include <cstdio>
#include <cstring>
int main()
{
    char c[110][22],s[22];
    int n,a,k=0,j,f;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d %s",&a,s);
        if(a==1)
        {
            strcpy(c[++k],s);
        //    printf(",,%s,,",c[k]);
        }
        else if(a==2)
        {
            for(j=1,f=0;j<=k;j++)
            {
                if(!strcmp(c[j],s))
                {
                    f=1;
                    break;
                }
            }
            if(f) printf("%d\n",j);
            else printf("The file does not exist\n");
        }
    }
    return 0;
}
View Code

 

posted @ 2018-12-04 08:37  wandso  阅读(140)  评论(0编辑  收藏  举报