C#代码:将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用...
发布网友
发布时间:2024-10-24 08:51
我来回答
共1个回答
热心网友
时间:2024-10-25 13:16
static void Main(string[] args)
{
int[] baseValue = {1000, 500, 100, 50, 10, 5, 1}; //罗马数据的基值
int[] baseCount = {0, 0, 0, 0, 0, 0, 0}; //对每一基值所需的个数
char[] romeChars = {'M', 'D', 'C', 'L', 'X', 'V', 'I'}; //七个罗马字符
Console.WriteLine("请输入正整数N:");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < 7; i++) {
if (n >= baseValue[i]) {
baseCount[i] = n / baseValue[i];
n %= baseValue[i];
}
}
for (int i = 0; i < 7; i++) {
for (int j = 0; j < baseCount[i]; j++) {
Console.Write(romeChars[i]);
}
}
Console.Write("(Rome)");
Console.Read();
}