C語言將羅馬數字轉換成阿拉伯數字

2021-03-04 08:49:00 字數 2460 閱讀 2465

1樓:劍俠→戰天意

主要是因為a裡面殘留了上次輸入的資料,你在while語句的最後加一句話:memset(a, 0, 100);就ok了

羅馬數字怎麼轉換成阿拉伯數字

2樓:匿名使用者

1 古代印度人創造了阿拉伯數字後,大約到了公元7世紀的時候,這些數字傳到了阿拉伯地區。到13世紀時,義大利數學家斐波那契寫出了《算盤書》,在這本書裡,他對阿拉伯數字做了詳細的介紹。後來,這些數字又從阿拉伯地區傳到了歐洲,歐洲人只知道這些數字是從阿拉伯地區傳入的,所以便把這些數字叫做阿拉伯數字。

以後,這些數字又從歐洲傳到世界各國。

2 羅馬數字是一種現在應用較少的一種的數量表示方式。它的產生晚於中國甲骨文中的數碼,更晚於埃及人的十進位數字。但是,它的產生標誌著一種古代文明的進步。

大約在兩千五百年前,羅馬人還處在文化發展的初期,當時他們用手指作為計算工具。為了表示

一、二、

三、四個物體,就分別伸出

一、二、

三、四個手指;表示五個物體就伸出乙隻手;表示十個物體就伸出兩隻手。這種習慣人類一直沿用到今天。人們在交談中,往往就是運用這樣的手勢來表示數字的。

當時,羅馬人為了記錄這些數字,便在羊皮上畫出ⅰ、ⅱ、ⅲ來代替手指的數;要表示乙隻手時,就寫成「ⅴ」形,表示大指與食指張開的形狀;表示兩隻手時,就畫成「ⅴⅴ」形,後來又寫成乙隻手向上,乙隻手向下的「ⅹ」,這就是羅馬數字的雛形。

後來為了表示較大的數,羅馬人用符號c表示一百。c是拉丁字「century」的頭乙個字母,century就是一百的意思。用符號m表示一千。

m是拉丁字「mille」的頭乙個字母,mille就是一千的意思。取字母c的一半,成為符號l,表示五十。用字母d表示五百。

若在數的上面畫一橫線,這個數就擴大一千倍。這樣,羅馬數字就有下面七個基本符號:ⅰ(1)ⅴ(5)ⅹ(10)l(50)c(100)d(500)m(1000)

羅馬數字與十進位數字的意義不同,它沒有表示零的數字,與進製無關。用羅馬數字表示數的基本方法一般是把若干個羅馬數字寫成一列,它表示的數等於各個數字所表示的數相加的和。但是也有例外,當符號ⅰ、ⅹ或c位於大數的後面時就作為加數;位於大數的前面就作為減數。

例如:ⅲ=3,ⅳ=4,ⅵ=6,ⅹⅸ=19,ⅹⅹ=20,ⅹlⅴ=45,mcmⅹⅹc=1980。羅馬數字因書寫繁難,所以,後人很少採用。

現在有的鐘錶表面仍有用它表示時數的。此外,在書稿章節及科學分類時也有採用羅馬數字的。

用c語言編寫把阿拉伯數字轉化為羅馬數字 5

3樓:匿名使用者

|#include

#include

int main()

;char* tens[10] = ;

char* hundreds[10] = ;

char* thousands[4] = ;

int n, i, j;

printf("%s", hundreds[n%1000/100]);

printf("%s", tens[n%100/10]);

printf("%s\n", digits[n%10]);}}

4樓:頂起石頭的小草

這是全部的要求嗎?數字長度是多少

用c語言將羅馬數字轉化為十進位制數字

5樓:匿名使用者

羅馬數字只能用字串來表示,用字串比較函式來判斷就好了#include

#include

int main()

return 0;}

6樓:匿名使用者

#include

int getunit(char ch)

return unit;

}int getvalue(char *s)if((*(p+1) == '\0') || (*(p+1) == '\n') || ( getunit( *(p+1) ) <= unit))

else

p++;

}return val;

}int main()

else

}return 0;

}程式執行結果如下:

c++ 羅馬數字與阿拉伯數字互相轉化

7樓:

#include

void main()

; /*建立對照表*/int n,t,i,m;

printf("please enter number:");

輸入整數*/

printf("%d=",n);

for(m=0,i=1000;m<3;m++,i/=10)printf("\n");}

C語言羅馬數字轉化為阿拉伯數字,C羅馬數字與阿拉伯數字互相轉化

羅馬字元 串轉數字 vc2008通過 include stdafx.h include 羅馬字串轉數字 int getnumber const char strnum nvalue nn strnum return nvalue c 羅馬數字與阿拉伯數字互相轉化 include void main ...

阿拉伯數字如何轉換成大寫的呢,如何把阿拉伯數字轉換為中文大寫?

if 待轉換bai數字或單元du格 0,負 if trunc round 待轉換數 字zhi或dao單版 元格權,2 0,text trunc abs round 待轉換數字或單元格,2 dbnum2 點 if iserr find round 待轉換數字或單元格,2 text right trun...

羅馬數字xxvlll是阿拉伯數字幾

根據羅馬數字的計算規則。x 10,v 5,i 1 小的單位在左側表示相減,在右側表示相加。例 iv 4 v 5 vi 6 所以 vii 37 viii是8,xx是20,所以應該是28.具體羅馬數字的規則,找資料看下就知道了 i 1 ii 2 iii 3 iv 4 v 5 vi 6 x 10 l 50...