为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

罗马数字到十进制转换

2017-12-27 5页 doc 15KB 19阅读

用户头像

is_531654

暂无简介

举报
罗马数字到十进制转换罗马数字到十进制转换 我们在以前学了十进制和n进制之间的转换无非就是迭代相乘和迭代相除的思想,而谭明金 和俞海英所共同编组的c语言程序设计实例精粹里面有一章节就提到了罗马数字和十进制的 转换。 这是一本不错的书,在此,向大家推荐。 书上终点介绍了如何从十进制转换为罗马数制的程序代码,而我今天向大家介绍的是如果从 罗马数制转换为十进制。 程序如下。 有可能很多人问num和i究竟代表什么。 num代表的是罗马数字在字符串中的位数 i表示迭代想加求最后的数字之和的一个变量。 这两个本身的意义弄反了,如果没有办法理解,...
罗马数字到十进制转换
罗马数字到十进制转换 我们在以前学了十进制和n进制之间的转换无非就是迭代相乘和迭代相除的思想,而谭明金 和俞海英所共同编组的c语言程序实例精粹里面有一章节就提到了罗马数字和十进制的 转换。 这是一本不错的书,在此,向大家推荐。 书上终点介绍了如何从十进制转换为罗马数制的程序代码,而我今天向大家介绍的是如果从 罗马数制转换为十进制。 程序如下。 有可能很多人问num和i究竟代什么。 num代表的是罗马数字在字符串中的位数 i表示迭代想加求最后的数字之和的一个变量。 这两个本身的意义弄反了,如果没有办法理解,可以把num和i字母互相调换,可以更容易 理解程序的内容。 #include int main() { char roma[10];//罗马字母所存放的数组 int num,i,first,next; printf("please input a roma number:\n"); scanf("%s",roma);//输入罗马进制 num=0; i=0; while(roma[num]!=0)//循环判断罗马进制 { if(roma[num]=='I')//我在这里定义了两种变量,一个是first,一个是next,分别指向 第一个数字,和第一个数字的后面一个数字.用来比较,如果 {//第一个数字大于后一个数字,则做加法运算 first=1;//如果前一个数字小于后一个数字,则做减法运算 } if(roma[num]=='V') { first=5; } if(roma[num]=='X') { first=10; } if(roma[num]=='L') { first=50; } if(roma[num]=='C') { first=100; } if(roma[num]=='D') { first=500; } if(roma[num]=='M') { first=1000; } if(roma[num+1]=='I') { next=1; } if(roma[num+1]=='V') { next=5; } if(roma[num+1]=='X') { next=10; } if(roma[num+1]=='L') { next=50; } if(roma[num+1]=='C') { next=100; } if(roma[num+1]=='D') { next=500; } if(roma[num+1]=='M') { next=1000; } if(firstnext) { i=i+first;//加法运算 } first=0; next=0;//first和next其实也可以不用,可有可无 num++; } printf("The roma to ten is \n%4d\n",i);//输出转换后的十进制 return 0; }
/
本文档为【罗马数字到十进制转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索