代码如下:
#include <cstdio>
#include<bits/stdc++.h>
using namespace std;
int main() {
int T;
int mark[1001];
scanf("%d", &T);
while (T > 0) {
int n;
scanf("%d", &n);
memset(mark,0xff,sizeof(mark));//初始化 (很重要)
for (int i = 0; i < n; i++) {
char str[10];
int id, score;
scanf("%s", str);
string ss(str);
int len = strlen(str);
if (ss == "Insert") { //Insert操作
scanf("%d %d", &id, &score);
mark[id] = score;
} else if (ss == "Find") {
scanf("%d", &id);
if (mark[id] != -1)
printf("name:%d score:%d\n", id, mark[id]);
else printf("No result!\n");
}
}
T--;
}
return 0;
}
总结:这道题真的不难,数组就能解决,关键问题在于我在数组初始化这块踩了坑。int arr[10] = {-1}; 并不能把arr中的值全部变为-1,所以数组要初始化为非0值只有借用memset()。
关于数组初始化https://blog.csdn.net/u014417133/article/details/77185009/
memset使用方法:memset(arr, -1, sizeof(arr)); //将数组arr中所有的值赋值为-1。