要求將小于100的整數(shù)改寫成羅馬數(shù)字,具體的羅馬數(shù)字怎么表達(dá)的就不詳細(xì)說了,當(dāng)時(shí)覺得這個(gè)題目還是很麻煩的,不過現(xiàn)在想想其中有規(guī)律可循的:
1 5 10 50 100 ,我們可以人為地插入 4 9 40 90 這樣先求出這幾個(gè)數(shù)的值將大大提高程序的性能
int ator(int n, char *buffer,sizeof(buffer)){
int GivenNum[9] = {"1","4","5","9","10","40","50","90","100"};
char Roma[9] ={"I","IV","V","IX","X","XL","L","XC","C"};
int i = 0;
while (n>0)
{
while (n >= GivenNum[i])
{
n = n - GivenNum[i];
strcat(buff,Roma[i]);
}
i = i + 1;
}
return 0;
}
受百合上一個(gè)兄弟的提醒,突然恍然大悟...哈哈~~