要求將小于100的整數改寫成羅馬數字,具體的羅馬數字怎么表達的就不詳細說了,當時覺得這個題目還是很麻煩的,不過現在想想其中有規律可循的:
1 5 10 50 100 ,我們可以人為地插入 4 9 40 90 這樣先求出這幾個數的值將大大提高程序的性能
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;
}
受百合上一個兄弟的提醒,突然恍然大悟...哈哈~~