将大于0 小于1000的阿拉伯数转换为罗马数字
题目中的数字转换实际上就是查表翻译,即将整数的百十个位依次从整数中分解出来,查找表中相应的行后输出对应的字符。
#include<stdio.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","CCC","CD","D","DC","DCC","DCCC","CM"};
int n,t,i,m;
printf("Please enter number:");
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");
}