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

2022-03-30 社会 147阅读
#include 
#include 

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 < > 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]);
 }
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com