intromanToInt(char* s){intn =strlen(s);//求出字符串s的长度intsum =0;//用sum保存转换成整数后的结果inttemp[n];//将s中的每个字符分别转换为对应的数值后保存到辅助数组temp中for(inti =0; i < n; i++){//遍历字符串s的每一个字符switch(s[i]){//将字符对应的数值保存到temp数组中case'...
/* * @lc app=leetcode.cn id=13 lang=c * * [13] 罗马数字转整数 */ // @lc code=start int romanToInt(char * s){ int sum = 0, j; int map[7] = {1, 5, 10, 50, 100, 500, 1000}; char c[7] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'}; for(int i = 0;...
同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。 X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。 给定一个罗马数字,将其转换成整数。输入...
for (int i = 0; i < c.Length; i++) { if (i + 1 < c.Length && dictionary.ContainsKey(c[i].ToString() + c[i + 1])) //如果发现两位一起能区配的话 { sum += dictionary[c[i].ToString() + c[i + 1].ToString()]; //获取值,HashTable的类型都是Object! i++; //跳两位 ...
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 ...
罗马数字转整数。 搜索题目罗马数字转整数。 答案 解析 null本题来源 题目:罗马数字转整数。 来源: leecode练习题 收藏 反馈 分享
12.整数转罗马数字(LeetCode)——C语言 方法一、贪心算法 #include <stdio.h> #include <string.h> #include <stdlib.h> char * intToRoman(int num) { struct intToRoman { int num; char *str; } list[13] = { {1000, "M"}, {900, "CM"},...
C放在D的左边,表示400; C放在M的左边,表示900。 输入一个正整数,将其转为用罗马数字表示的数。 输入: 一个正整数x(1<=x<=3999)。 输出: 一个字符串代表x转换后的,用罗马数字表示的数。 输入样例1: 27 Copy 输出样例1: XXVII Copy 输入样例2: 43 Copy 输出样例2: XLIII Copy 查看答案 上...
12. Integer to Roman, 整数转罗马数字 贪心法则适用于罗马数字的规则 解法1
一、理解罗马数字 罗马数字系统中有七个基本符号,每个符号对应一个特定的数值。编写程序时首先必须建立这些符号与它们对应的整数之间的映射。这可以通过创建一个数组或使用散列表(哈希表)实现。 二、建立映射关系 在C语言中,可以使用switch语句或者查找表来快速地将罗马字符映射到对应的整数值。例如: ...