蓝桥杯 c++ 罗马数字转换问题

原创 2013年12月02日 23:31:38

#include"iostream.h"
#include"string.h"
int jisuan(int i,int j,int z)
{ int count=0;
 int a[7]={1,5,10,50,100,500,1000};
 if(z==1) count=a[i];
 if(z==0) count=-a[i];
 return count;
}
int quan(char a,char b)
{ int q,h,p;
char c[7]={'I','V','X','L','C','D','M'};
 for(int i=0;i<7;i++)
 { if(c[i]==a) q=i;
  if(c[i]==b) h=i;
 }
 if(q-h>=0)p=jisuan(q,h,1);
    else p=jisuan(q,h,0);
 return p;
}

int f(char b[],int n)
{ int count=0;
 for(int i=0;i<n;i++)
 { count=count+quan(b[i],b[i+1]);
 }
 return count;
}
main()
{ char a[100][20];
 int n;
 cout<<"********¥¥¥¥¥¥¥罗马字符转化为阿拉伯数字值¥¥¥¥¥¥¥*****"<<endl;
 cout<<"insert:";
 cin>>n;
 for(int i=0;i<n;i++)
  cin>>a[i];
 for(int j=0;j<n;j++)
  cout<<f(a[j],strlen(a[j]))<<endl;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[C++]LeetCode 12: Integer to Roman(将整数转换为罗马数字)

Problem: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the rang...

leetcode 罗马数字与整数的转换算法

leecode 罗马数字与整数的转换算法

罗马数字与整数相互的转换

第13题:整数转换成罗马数字&第14题:罗马数字转换成整数 写在前面: 这两道题合起来写吧,其实整数转罗马数字我前天就写完了,当我想写罗马数转整数的时候竟然脑子一片空白,想了几分钟就想起...
  • I_peter
  • I_peter
  • 2016年04月21日 15:23
  • 575

罗马数字转换为十进制数字

给定一个罗马数字s,( I

罗马数字转换成整数

给定一个罗马数字s,( I 如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5。 格式:    第一行输入一个罗马数字,接下来输出对应的整数。 提示:    首先要来了解一下罗...

Leetcode#13. Roman to Integer (罗马数字转化阿拉伯数字)

xuna小记:题目解法使用c++和Python两种,重点侧重在于解题思路和如何将解法用python语言实现。题目Given a roman numeral, convert it to an inte...

蓝桥杯 罗马数字转十进制 找规律

古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原...
  • wr132
  • wr132
  • 2015年03月15日 16:43
  • 552

2012蓝桥杯【初赛试题】罗马数字

题目描述:     古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的...

蓝桥杯 2014 B组 C++ 第五题 分形问题

蓝桥杯2014第五题 打印图形: 小明在X星球的城堡了发现了如下图形和文字: Rank=3 Rank=4 Rank=5 题目是填空题 但是代码是自己写的 博客最...

c++罗马数字转换

  • 2012年12月17日 13:57
  • 899KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:蓝桥杯 c++ 罗马数字转换问题
举报原因:
原因补充:

(最多只允许输入30个字)