C/C++[codeup 1397,2020]查找

1397题目描述:查找

输入数组长度 n
输入数组 a[1…n]
输入查找个数m
输入查找数字b[1…m]
输出 YES or NO 查找有则YES 否则NO 。

  • 输入
    输入有多组数据
    每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。

  • 输出
    如果在n个数组中输出YES否则输出NO。

  • 样例输入
    6
    3 2 5 4 7 8
    2
    3 6

  • 样例输出
    YES
    NO
#include <iostream>
using namespace std;
int main() {
    int n;
    while (cin>>n) {
        int num[n];
        for (int i = 0; i < n; i++)
            cin >> num[i];
        int m;
        cin >> m;
        while (m--) {
            int d, flag = 0;
            cin >> d;
            for (int i = 0; i < n; i++) {
                if (d == num[i]) {
                    cout << "YES" << endl;
                    flag = 1;
                    break;
                }
            }
            if (!flag) cout << "NO" << endl;
        }
    }
    return 0;
}

2010题目描述:学生查询

输入n个学生的信息,每行包括学号、姓名、性别和年龄,每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。

  • 输入
    测试数据有多组,第一行为样例数m。对于每个样例,第一行为学生人数n(n不超过20),加下来n行每行4个整数分别表示学号、姓名、性别和年龄,最后一行表示查询的学号。

  • 输出
    输出m行,每行表示查询的学生信息,格式参见样例。

  • 样例输入
    1
    4
    1 李江 男 21
    2 刘唐 男 23
    3 张军 男 19
    4 王娜 女 19
    2

  • 样例输出
    2 刘唐 男 23
#include <iostream>
using namespace std;
struct Studend {
    int id;
    char name[20];
    char sex[5];
    int age;
};
int main() {
    int m;
    cin>>m;
    while(m--){
        int n,id;
        cin >>n;
        Studend s[n];
        for(int i = 0; i < n; i++)
            cin >>s[i].id>>s[i].name>>s[i].sex>>s[i].age;
        cin>>id;
        id--;
        cout<<(s+id)->id<<' '<<(s+id)->name<<' '<<(s+id)->sex<<' '<<(s+id)->age<<endl;
        }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/u014281392/article/details/80640460