博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zoj3501
阅读量:7062 次
发布时间:2019-06-28

本文共 1670 字,大约阅读时间需要 5 分钟。

  hot3.png

15103904_kjSV.gif
15103904_GdjW.gif View Code
 
#include < iostream >
#include
< algorithm >
#include
< string .h >
#include
< cstdio >
using namespace std;
char a[][ 15 ] = {
" 0 " , " I " , " II " , " III " , " IV " , " V " , " VI " , " VII " , " VIII " , " IX " };
char b[][ 15 ] = {
" 0 " , " X " , " XX " , " XXX " , " XL " , " L " , " LX " , " LXX " , " LXXX " , " XC " };
char c[][ 15 ] = {
" 0 " , " C " , " CC " , " CCC " , " CD " , " D " , " DC " , " DCC " , " DCCC " , " CM " };
char d[][ 15 ] = {
" 0 " , " M " , " MM " , " MMM " };
struct node
{
char f[ 15 ];
char ch[ 15 ];
}s[
10010 ];
int cmp( const void * x, const void * y)
{
return strcmp( ((node * )x) -> ch , ((node * )y) -> ch );
}
int main()
{
int t,i,j;
int n,m;
char ch1[ 10010 ];
scanf(
" %d " , & t);
while (t -- )
{
scanf(
" %d " , & n);
for (i = 0 ;i < n;i ++ )
{
scanf(
" %s " ,ch1);
strcpy(s[i].f, ch1);
int L = strlen(ch1);
if (L == 4 )
{
strcpy(s[i].ch, d[ch1[
0 ] - ' 0 ' ]);
if (ch1[ 1 ] != ' 0 ' ) strcat(s[i].ch, c[ch1[ 1 ] - ' 0 ' ]);
if (ch1[ 2 ] != ' 0 ' ) strcat(s[i].ch, b[ch1[ 2 ] - ' 0 ' ]);
if (ch1[ 3 ] != ' 0 ' ) strcat(s[i].ch, a[ch1[ 3 ] - ' 0 ' ]);
}
if (L == 3 )
{
strcpy(s[i].ch,c[ch1[
0 ] - ' 0 ' ]);
if (ch1[ 1 ] != ' 0 ' ) strcat(s[i].ch, b[ch1[ 1 ] - ' 0 ' ]);
if (ch1[ 2 ] != ' 0 ' ) strcat(s[i].ch , a[ch1[ 2 ] - ' 0 ' ]);
}
if (L == 2 )
{
strcpy(s[i].ch , b[ch1[
0 ] - ' 0 ' ]);
if (ch1[ 1 ] != ' 0 ' ) strcat(s[i].ch, a[ch1[ 1 ] - ' 0 ' ]);
}
if (L == 1 )
{
strcpy(s[i].ch,a[ch1[
0 ] - ' 0 ' ]);
}
}
qsort(s,n,
sizeof (s[ 0 ]), cmp);
for (i = 0 ;i < n;i ++ )
{
printf(
" %s " ,s[i].f);
if (i != n - 1 ) printf( " " );
}
printf(
" \n " );
}
return 0 ;
}

转载于:https://my.oschina.net/garyun/blog/602974

你可能感兴趣的文章
android 的android httpClient详解
查看>>
IOS SEL的理解与使用
查看>>
iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式
查看>>
iOS开发之SQLite--C语言接口规范(三)——Binding Values To Prepared Statements
查看>>
gdb 调试 sysbench
查看>>
Oracle官方并发教程之中断
查看>>
使用模板实现编译期间多态
查看>>
[置顶].NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB
查看>>
Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(三)
查看>>
iOS Touch ID 简易开发教程
查看>>
结构体类型指针做函数参数(C++)
查看>>
Akka笔记之消息传递
查看>>
带你实现开发者头条(一) 启动页实现
查看>>
Android Listview中Button按钮点击事件冲突解决办法
查看>>
【技术篇】SQL的四种连接-左外连接、右外连接、内连接、全连接
查看>>
可翻折的TextViewExpandableTextView
查看>>
5G超新时代,点燃了25G和100G光模块市场
查看>>
进程死锁的四个必要条件以及处理策略
查看>>
oracle 查看 、创建、删除 dblink
查看>>
spring boot 1.x 拦截器
查看>>