用c语言编写把阿拉伯数字转化为罗马数字

用c语言编写把阿拉伯数字转化为罗马数字求大神帮忙

#include <stdio.h>
#include <string.h>

int main()
{
 char* digits[10] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
 char* tens[10] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
 char* hundreds[10] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
 char* thousands[4] = {"", "M", "MM", "MMM"};

 int n, i, j;

 while (scanf("%d", &n) != EOF)
 {
  if (n < 1 || n > 3999)
  {
   printf("1~3999\n");
   continue;
  }
  printf("%s", thousands[n/1000]);
  printf("%s", hundreds[n%1000/100]);
  printf("%s", tens[n%100/10]);
  printf("%s\n", digits[n%10]);
 }
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-03-06
这是全部的要求吗?数字长度是多少追问

嗯是所有的要求,数字长度任意没有规定

追答

私信我吧,程序可以完成

用c语言编写把阿拉伯数字转化为罗马数字
include <stdio.h>#include <string.h>int main(){ char* digits[10] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}; char* tens[10] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "...

c语言里的罗马数字怎么弄
不明白你要做什么!如果是要说输入阿拉伯数字输出罗马数字的话可以用以下方法 include using namespace std;void fout(int i){ switch(i){ case 1:{ printf("I");break;} case 2:{ printf("II");break;} case 3:{ printf("III");} case 4:{ printf("IV");break;} case 5:{ print...

C++ 罗马数字与阿拉伯数字互相转化
static char *a[][10]={"","I","II","III","IV","V","VI","VII","VIII","IX","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"}; \/*建立对照表*\/ int n,t,i,m;printf("Please e...

c语言里的罗马数字怎么弄
define I 1 define II 2 ...define X 10 以后直接用这些罗马字母就可以了

罗马数字与阿拉伯数字的相互转换
罗马数字与阿拉伯数字的相互转换 罗马数字,古罗马人使用的数字系统,由I、V、X、L、C、D、M等基本数字组成,最多重复三次,左减右增。阿拉伯数字,古印度人发明,全世界广泛使用。两者间需要转换,适合交易场景。罗马数字转换原理:从左至右依次递减,结合特殊规则IV、IX、XL、XC、CD、CM,以及辅助...

用c++写一个程序,它接收用4位阿拉伯数字表示的一个年份,输出用罗马数 ...
XX","XXX","XL","L","LX","LXX","LXXX","XC"};\/\/int c_v[]={0,10,20,30,40,50,60,70,80,90};char b_s[][5]={"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};\/\/int b_v[]={0,100,200,300,400,500,600,700,800,900};char a_s[][5]=...

跪求:用c++或c 遍写 的将罗马数字转阿拉伯数字的程序代码,运行后输入一...
include<string.h> int did(char a){ if(a=='I') return 1;else if(a=='V') return 5;else if(a=='X') return 10;else if(a=='L') return 50;else if(a=='C') return 100;else if(a=='D') return 500;else if(a=='M') return 1000;else return 0;} int main(...

C语言程序编写罗马数字翻译
switch(ALBSZ)\/\/存放阿拉伯数字的变量 { case 1: LMSZ="Ⅰ"; break;case 2: LMSZ="Ⅱ"; break;case 3: LMSZ=" Ⅲ"; break;... ... \/\/以此类推,一一对应就行了 }

PASCAL 阿拉伯数字 => 罗马数字
i:integer;function DecToRoman( iDecimal: integer ): string;const aRomans: array [ 1..13 ] of string = ( 'I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M' );aArabics: array [ 1..13 ] of integer = ( 1, 4, 5, 9, 10...

阿拉伯数字1到100转换为拉丁文
XXI-21、XXII-22、XXIX-29、XXX-30、XXXIV-34、XXXV-35、XXXIX-39、XL-40、L-50、LI-51、LV-55、LX-60、LXV-65、LXXX-80、XC-90、XCIII-93、XCV-95、XCVIII-98、XCIX-99、C-100。1、最常见的罗马数字就是钟表的表盘符号:Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ、Ⅶ、Ⅷ、Ⅸ、Ⅹ、...

相似回答