罗马数字转整数 C语言

d48636c766c545d0a3505a3c1e2f32ae.jpg

 ⒈了解转化规则79ae76183199498483432a1aafa364f7.jpg

 源代码  

#include<stdio.h>

int roman(char r){

 switch(r){

  case'I':

   return 1;

  case'V':

   return 5;

  case'X':

   return 10;

  case'L':

   return 50;

  case'C':

   return 100;

  case'D':

   return 500;

  case'M':

   return 1000;

  defaut:

   return 0;

   

 }

}

int main(){

 char m[10];

 int i,n=7,sum=0;

 for(i=0;i<n;i++){

  scanf("%c",&m[i]);

 }

 for(i=0;i<7;i++){

  int num=roman(m[i]);

  if(i<n-1&&num<roman(m[i+1])){

  sum-=num;

  }else{

  sum+=num;

  }

  

 }

 printf("%d",sum);

 return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值