1 #include <stdio.h>
2 #include <string.h>
3 union node//公用体修改一个数据就会影响别的数据。
4 {//思路和结构体差不多。
5 int a;
6 double b;
7 char c[30];
8 } q[100001];
9 char str[100001][30];
10 int main()
11 {
12 int m,n,i,j,k;
13 double ib;
14 char ic[30];
15 scanf("%d %d",&n,&m);
16 for(i=0; i<n; i++)
17 {
18 scanf("%s",str[i]);
19 if(strcmp("INT",str[i])==0)
20 {
21 scanf("%d",&j);
22 q[i].a=j;
23 }
24 else if(strcmp("DOUBLE",str[i])==0)
25 {
26 scanf("%lf",&ib);
27 q[i].b=ib;
28 }
29 else if(strcmp("STRING",str[i])==0)
30 {
31 scanf("%s",ic);
32 strcpy(q[i].c,ic);
33 }
34 }//分别赋值
35 for(i=0; i<m; i++)
36 {
37 scanf("%d",&k);
38 if(strcmp("INT",str[k])==0)
39 {
40 printf("%d\n",q[k].a);
41 }
42 else if(strcmp("DOUBLE",str[k])==0)
43 {
44 printf("%.2lf\n",q[k].b);
45 }
46 else if(strcmp("STRING",str[k])==0)
47 {
48 printf("%s\n",q[k].c);
49 }
50 }
51 return 0;
52 }