c语言中罗马字母数字,急求!急急急!!十进制数转化成罗马数字的c语言代码,在线等!...

/*

ID: cmykrgb1

PROG: preface

LANG: C++

*/

#include

#include

FILE *fi,*fo;

static char ch[7]={'I','V','X','L','C','D','M'};

long int t[100];

void getrome(int n)

{

if (n>=1000) //M

{

t['M']++;

getrome(n-1000);

}else

if (n>=900) //CM

{

t['C']++;

t['M']++;

getrome(n-900);

}

else

if (n>=500)

{

t['D']++;

getrome(n-500);

}

else

if (n>=400)

{

t['C']++;

t['D']++;

getrome(n-400);

}

else

if (n>=100)

{

t['C']++;

getrome(n-100);

}

else

if (n>=90)

{

t['X']++;

t['C']++;

getrome(n-90);

}

else

if (n>=50)

{

t['L']++;

getrome(n-50);

}

else

if (n>=40)

{

t['X']++;

t['L']++;

getrome(n-40);

}

else

if (n>=10)

{

t['X']++;

getrome(n-10);

}

else

if (n>=9)

{

t['I']++;

t['X']++;

getrome(n-9);

}

else

if (n>=5)

{

t['V']++;

getrome(n-5);

}

else

if (n>=4)

{

t['I']++;

t['V']++;

getrome(n-4);

}

else

if (n>=1)

{

t['I']++;

getrome(n-1);

}

}

int main(void)

{

int n,i;char c;

fi=fopen("preface.in","r");

fo=fopen("preface.out","w");

fscanf(fi,"%d",&n);

fclose(fi);

for (i=1;i<=n;i++)

getrome(i);

for (i=0;i<=6;i++)

if (t[ch[i]]>0)

fprintf(fo,"%c %ldn",ch[i],t[ch[i]]);

fclose(fo);

return 0;

}

追问

我说的是十进制转化成罗马数字

你这是罗马数字转化成十进制了

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值