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();
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com