共用体练习 C语言 SDUT_Move on -程序员宅基地

技术标签: 结构体/共用体  SDUT OJ  

共用体练习

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

 给定n和m,接下来有n个描述,每个描述包含一个类型标志和一组相应的数据。类型标志共3种:INT DOUBLE STRING,然后对应一组相应的数据。紧接着有m个询问,每个询问仅包含一个整数x,要求输出第x个描述对应的数据(STRING类型保证不含空格,每组对应STRING数据不会超过19个字符)。

 

Input

输入的第一行为两个整数,n和m (n<=100000, m<=100000),分别代表描述的个数和询问的个数。接下来为 n 行描述,最后为m行询问,具体格式见样例输入输出。

Output

对于每个询问,输出对应的结果,注意:浮点数保留两位小数。

Sample Input

5 4
INT 456
DOUBLE 123.56
DOUBLE 0.476
STRING welcomeToC
STRING LemonTree
0
1
2
4

Sample Output

456
123.56
0.48
LemonTree

Hint

必须使用共用体完成。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
union
{
    int a;
    double d;
    char c[20];
}t[100010];
char str[100010][20];//用来存储第i个共用体的类型
int main()
{
    int n, m, i, b;
    scanf("%d %d", &n, &m);
    for(i = 0; i < n; i++)
    {
        scanf("%s", str[i]);
        if(strcmp(str[i], "INT") == 0)
        {//特别注意字符串比较函数的相等时返回值为0!!!
            scanf("%d", &t[i].a);
        }
        else if(strcmp(str[i], "DOUBLE") == 0)
        {//特别注意字符串比较函数的相等时返回值为0!!!
            scanf("%lf", &t[i].d);
        }
        else if(strcmp(str[i], "STRING") == 0)
        {//特别注意字符串比较函数的相等时返回值为0!!!
            scanf("%s", t[i].c);
        }
    }//分别进行输入
    for(i = 0; i < m; i++)
    {
        scanf("%d", &b);
        if(strcmp(str[b], "INT") == 0)
        {//特别注意字符串比较函数的相等时返回值为0!!!
            printf("%d\n", t[b].a);
        }
        else if(strcmp(str[b], "DOUBLE") == 0)
        {//特别注意字符串比较函数的相等时返回值为0!!!
            printf("%.2lf\n", t[b].d);
        }
        else if(strcmp(str[b], "STRING") == 0)
        {//特别注意字符串比较函数的相等时返回值为0!!!
            printf("%s\n", t[b].c);
        }
    }//分别进行输出,注意此处的下标都是 b 了!
    return 0;
}

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44143702/article/details/86527435

智能推荐

scrapy 暂停恢复实现增量爬取_weixin_33714884的博客-程序员宅基地

1、第一种方法:  在scrapy crawl 命令后面接上 -s JOBDIR/spidername 可以保存爬取状态实现 增量爬取。scrapy crawl coolapk_info --logfile=app.log -s JOBDIR= crawls/coolapk2、参考资料1、https://doc.scrapy.or...

gRPC 健康检查_呜呜呜啦啦啦的博客-程序员宅基地_grpc健康检查

gRPC 健康检查在 gRPC 中使用健康检查,在负载均衡前通过健康检查,只对健康的 Subchannel 发起请求,保证请求的成功率使用Server 端健康检查是一个独立的 Service,需要在 Server 端显式添加健康检查服务健康检查定义了两个方法,一个适用于单次请求的 check 方法,另一个是适用于 Stream 流的 watch 方法Server 端的健康检查由 io.grpc.services.HealthStatusManager控制,抽象类是 io.grpc.health

eleme 项目使用到的库_weixin_34411563的博客-程序员宅基地

探索eleme用到的库xmlre库通过regex = re.compile(pattern)返回一个pattern对象, 通过该对象匹配正则表达式的字符串, 最好在模式中使用r'some'原始字符串regex有很多的方法, 最常用的就是findall(), 因为这个方法返回的是一个字符串列表, 而其他的返回的是Match对象match(), ...

linux更改oracle所属组,Linux更改oracle用户组实验_宽客之家的博客-程序员宅基地

---通常我们安装oracle数据库是建立oracle用户。并且用户加入dba组--但是我们要改了oracle的dba组为dba1 ,数据库使用操作系统认证还能--正常登录吗?--回答是不行的。需要重新编译下我们的oracle可执行文件--下面是我的操作步骤。1:查看oracle 用户的具体情况,主组为dba[[email protected] gc-1024]# id oracleuid=500...

An error has occurred.See the log file错误解决_HowardGe的博客-程序员宅基地

解决方法:删除eclipse的临时文件: eclipse\configuration 目录下的 org.eclipse.osgi org.eclipse.update 两个子目录重新启动 eclipse

模拟web服务器项目,node.js express搭建简单的web服务器_姜小白71的博客-程序员宅基地

说明:开发环境使用的是Webstrom1、Express 简介Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。Express 框架核心特性:可以设置中间件来响应 HTTP 请求。定义了路由表用于执行不同的 HTTP 请求动作。可以通过向模板传递参...

随便推点

mysql对应java类型_随风飘扬中的博客-程序员宅基地

类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)VARCHARL+NVARCHARjava.lang.String12CHARNCHARjava.lang.String1BLOBL+NBLOBjava.lang.byte[]-4TEXT65535VARCHARjava.lang.String-1     INTEGER4INTEGER UNSIGNEDjava.lang.Long4...

mysql的详细使用_sls405187的博客-程序员宅基地

平日里用DBMS用多了,操作都没使用Sql语句了。谁知一场笔试居然考这个,哎,重新再总结下。先创建数据库create database mical on primary (name=miacal_data1, filename='E:\SQL Server 200\MSSQL$MICAL_BO\SQL server 2000个人版运行\MSSQL\Data\mical_

python脚本向influxdb写入数据_weixin_34380948的博客-程序员宅基地

python3使用requests模块向influxdb的http API发送接口请求实现数据写入,如下:1. 创建数据库[python]view plaincopyimportrequestsposturl='http://192.168.220.128:8086/query'data={'q':'createDATABASEmydb'}...

文远知行β_Edwin66666的博客-程序员宅基地

文远知行βProblem Description“上一个国家的人真的是好心呢。”在山脉群之间,是一片宽广平坦的大地。被草木覆盖的绿意,顺着灰色的山间延伸。摩托车(注:两轮的车子,尤其是指不在天空飞行的交通工具)飞驰在道路上。骑士年约十五、六岁,有着一头黑色短发及炯炯有神的脸庞。她身穿黑色夹克,腰际系着一条粗皮带。右腿悬挂着左轮手枪式的掌中说服者(注:说服者是枪械。这里是指手枪)的枪袋...

uct框架数据库sql文件导入错误之 sql_mode_weixin_30410119的博客-程序员宅基地

uct框架在导入sql文件时可能会出现一种错误ERROR 1101 (42000): BLOB/TEXT column 'brief' can't have a default value这是由于mysql环境变量sql_mode设置使得对sql语句检查规则和数据校验有不同处理方式。mysql支持三种sql_mode模式。ANSI模式:宽松模式,对插入数据进行校验,如...

推荐文章

热门文章

相关标签