问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

罗马特殊的加法,编程。

发布网友 发布时间:2024-08-20 06:49

我来回答

3个回答

热心网友 时间:2024-08-24 10:21

int fun对照表(char c罗马){
switch (c罗马)
{
case I:
return 1;
break;
case V:
return 5;
break;
case X:
return 10;
break;
case L:
return 50;
break;
case C:
return 100;
break;
case D:
return 500;
break;
case M:
return 1000;
break;
}

}
int fun罗马转阿拉伯(string s罗马){

int i阿拉伯=0,i;
char c罗马[]=s罗马;
i阿拉伯=fun对照表(c罗马[s罗马.length-1]);
for(i=s罗马.length-1;i>=0;i--){
if(fun对照表(c罗马[i+1])>=fun对照表(c罗马[i])){
i阿拉伯+=fun对照表(c罗马[i+1]);
}else{

i阿拉伯-=fun对照表(c罗马[i+1]);
}

}
return i阿拉伯;
}

热心网友 时间:2024-08-24 10:21

第三方的身份大公司的和人格沙发沙发富商大贾地方好地方

热心网友 时间:2024-08-24 10:15

#include<stdio.h>
#include<string.h>
int chklm(char *s)
{   
    int i,length=0,sum=0,equflag=0,bigflag=0;
    int lmstr[20]={0};
    length=strlen(s);
    for(i=0;i<length;i++)
    {
     switch(*s)
        {
               case 'I':lmstr[i]=1;break;
               case 'V':lmstr[i]=5;break;
               case 'X':lmstr[i]=10;break;
               case 'L':lmstr[i]=50;break;
               case 'C':lmstr[i]=100;break;
               case 'D':lmstr[i]=500;break;
               case 'M':lmstr[i]=1000;break;
               default:lmstr[i]=0;break;
        }
        s++;
     } 
     for(i=0;i<length;i++)
    {
     printf("%d,",lmstr[i]);
     }
     printf("\n");
      for(i=0;i<length;i++)
        {    
             if(lmstr[i]>lmstr[i+1]) 
             {
               bigflag++; 
               sum=sum+lmstr[i];                  
             }
             else
             {bigflag=0;}
             if(lmstr[i]==lmstr[i+1]) 
             {
               
               equflag++;   
               if((bigflag>0)&&(equflag>3)) return(0); 
               sum=sum+lmstr[i];               
             }
             else
             {equflag=0;}
             if(lmstr[i]<lmstr[i+1])
             {                    
               if(equflag>0) return(0);
               if((lmstr[i]!=1)&&(lmstr[i]!=10)&&(lmstr[i]!=100)) return(0);
               if(lmstr[i+1]/lmstr[i]>10) return(0);
               sum=sum-lmstr[i]; 
             }
         }
         return(sum); 
}
void lmtosum(int sum)
{   
    int i=0,equflag=0,equcnt=0;
    char lm[8]={' ','M','D','C','L','X','V','I'};
    char s[20]={0};
    while((sum>0)&&(i<20))
    {
        if(sum>=1000)
        {
          s[i]=lm[1];
          sum-=1000;
          i++;
          if((i>=4)&&(s[i-1]==s[i-2])&&(s[i-1]==s[i-3])&&(s[i-1]==s[i-4]))
          {  
               i-=4;
               s[i++]=lm[1];
               s[i++]=lm[0];               
          }
          continue; 
        }
        if(sum>=500)
        {
          s[i]=lm[2];
          sum-=500;
          i++;
          if((i>=4)&&(s[i-1]==s[i-2])&&(s[i-1]==s[i-3])&&(s[i-1]==s[i-4]))
          {
              i-=4;
               s[i++]=lm[2];
               s[i++]=lm[1];                
          }
          continue; 
        }
        if(sum>=100)
        {
          s[i]=lm[3];
          sum-=100;
          i++;
          if((i>=4)&&(s[i-1]==s[i-2])&&(s[i-1]==s[i-3])&&(s[i-1]==s[i-4]))
          {
              i-=4;
               s[i++]=lm[3];
               s[i++]=lm[2];                
          }
          continue; 
        }
        if(sum>=50)
        {
          s[i]=lm[4];
          sum-=50;
          i++;
          if((i>=4)&&(s[i-1]==s[i-2])&&(s[i-1]==s[i-3])&&(s[i-1]==s[i-4]))
          {
              i-=4;
               s[i++]=lm[4];
               s[i++]=lm[3];                
          }
          continue; 
        }
        if(sum>=10)
        {
          s[i]=lm[5];
          sum-=10;
          i++;
          if((i>=4)&&(s[i-1]==s[i-2])&&(s[i-1]==s[i-3])&&(s[i-1]==s[i-4]))
          {
              i-=4;
               s[i++]=lm[5];
               s[i++]=lm[4];                
          }
          continue; 
        }
        if(sum>=5)
        {
          s[i]=lm[6];
          sum-=5;
          i++;
          if((i>=4)&&(s[i-1]==s[i-2])&&(s[i-1]==s[i-3])&&(s[i-1]==s[i-4]))
          {
              i-=4;
               s[i++]=lm[6];
               s[i++]=lm[5];                
          }
          continue; 
        }
        if(sum>=1)
        {
          s[i]=lm[7];
          sum-=1;
          i++;
          if((i>=4)&&(s[i-1]==s[i-2])&&(s[i-1]==s[i-3])&&(s[i-1]==s[i-4]))
          {
              i-=4;
               s[i++]=lm[7];
               s[i++]=lm[6];                
          }
          continue; 
        }      
    }
    s[i]=0;
     printf("%s\n",s);
}
int main()
{
      char s1[20],s2[20];
      int num1,num2,sum;
      printf("Please Input First Number:\n");
      gets(s1);
      printf("Please Input Second Number:\n");
      gets(s2);
      num1=chklm(s1);
      num2=chklm(s2);
  printf("First Value=%d\n",num1);
  printf("First Value=%d\n",num2); 
  if((num1!=0)&&(num2!=0))
  {
sum=num1+num2;
printf("Sum=%d\n",sum);
lmtosum(sum);
  }
  else
  {
printf("Aha! I don't need to calculate the sum!\n");    
  }
  getchar();
  getchar();
}

搞好了,复制粘贴就管编译运行,以下是运行图

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 书桌上顽固的铅笔污渍怎么办 桌上被铅笔弄脏 怎么办 突然心跳加快是怎么回事 今天突然很焦虑,手脚发热,心跳很快,尿频,怎么办 刷单被骗了8000多,付款是用支付宝付的,可不可以申请退款呐???急_百度... 疫情锦旗内容 怎么把电脑系统(怎么把电脑系统拷贝到U盘) 可不可以直接把系统文件放进u盘里? ppt怎么把视频全屏显示? 头像是一个动画女生拿一石头,代表什么 石家庄周边二日游到哪里好 经期能喝红糖姜水吗 月经期可以喝生姜红糖水吗 笔记本电脑u盘启动后找不到硬盘启动-(笔记本电脑u盘启动后找不到硬盘... ...直辖市划定的基本农田应当占本行政区域内耕地的( )以上。 基本农田和耕地的区别是什么 基本农田是土地中的“大熊猫”,征收批文级别高,补偿该咋给? 联想一体机电脑开机出现reboot and select proper boot device_百度知... ...主板出问题更换了主板,后出现找不到硬盘是什么原因 ...盘给一台联想台式一体机装系统,PE进去之后找不到电脑的硬盘!_百度... 联想一体机开机error1962怎么修复。 c语言中,如何在自己输入一个任意数之后,从输入数字最后一位开始,_百 ... C#如何用正则表达式从网页源文件里筛选东西 九江教师资格证考试地点 清关公司是什么意思? 校长中考誓师大会发言稿7篇 你好,请教房屋合同编码19位,我们是独立小厂区,办居住证后几位编码怎么... 今年2024年白露是什么时候 今年的白露时节具体时间 今年的白露是几月几号几点 今年什么时候霜降和白露 2023年九月几号是白露 今年的白露是农历几月几号 今年几月几号白露2023 今年白露是哪天几点2023 安徽省高校教师职称晋升既符合正常晋升又符号破格晋升该选哪个?_百 ... 职称破格评审什么叫破格评审 蜂蜜水什么时候喝 蜂蜜水适宜人群 蜂蜜水什么时候喝好 这2个时间不容错过 怎么取消机票预定,取消预定有没有违约 2022高考可以带什么样的手表进入考场? 高考手表要求