优秀的编程知识分享平台

网站首页 > 技术文章 正文

C|阿拉伯数字转换为罗马数字(将阿拉伯数字转化为中文大写编程题)

nanyue 2024-10-04 18:24:36 技术文章 15 ℃

通过查表翻译,将整数的百、十、个位依次从整数中分解出来,查找表中相应的行后输出对应的字符:

效果如下:

代码:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

{

//建立对照表

static char *a[][10]={"","I","II","III","IV","V","VI","VII","VIII","IX",

"","X","XX","XXX","XL","L","LX","LXX","LXXX","XCC",

"","C","CC","CC","CD","D","DC","DCC","DCCC","CM"};

/*

上面的罗马数字对应下面的阿拉伯数字

static char *a[][10]={"","1","2","3","4","5","6","7","8","9",

"","10","20","30","40","50","60","70","80","90",

"","100","200","300","400","500","600","700","800","900"};

*/

int n,t,i,m;

printf("Please enter number(0-1000):");

scanf("%d",&n);

printf("%d=",n);

for(m=0,i=1000;m<3;m++,i/=10)

{

t=(n%i)/(i/10);//从高位到低位依次取各位的数字

printf("%s",a[2-m][t]);//通过对照表翻译输出

}

printf("\n");

system("pause");

return 0;

}

-End-

Tags:

最近发表
标签列表