1960=共用体练习

 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 }

 

posted @ 2019-02-28 10:59  念文丶  阅读(293)  评论(0)    收藏  举报