問題描述 :
輸入乙個十進位制數,將其化成n進製數輸出(2≤n≤16)。 輸出結果時,大於等於10的數字用字母代替,a代表10,b代表11以此類推。
輸入說明 :
你的程式需要從標準輸入裝置(通常為鍵盤)中讀入多組測試資料。每組輸入資料由一行組成,每行有2個數,分別代表十進位制數m(0≤ m < 2^31)和進製n(2≤n≤16),它們以空格分隔,在行首和行尾沒有多餘的空格。
輸出說明 :
對每組測試資料,你的程式需要向標準輸出裝置(通常為啟動該程式的終端)依次輸出一組對應的答案:輸出10進製數轉換後的n進製數。所有資料前後沒有多餘的空格,兩組資料之間也沒有多餘的空行。
輸入範例 :
100 10
100 15
輸出範例:
1006a
總結
1.前面已經做過好幾道類似的題,沒什麼難度。在教科書上學到乙個函式strrev(); 這樣就不用在遍歷反向輸出了,直接用就可以了。
2.puts(str)會自動換行,不需要再加上換行符,很nice;
函式裡面有個strrev(),可實現字串的逆序輸出,只要我函式用的好,就可以省略很多**,哈哈…
3.唯一需要說的就是輸入的十進位制整數為0的特殊情況,要考慮全面
4.這點很重要,也容易忽略。就是在字串的結尾手動加入
str[i]=』\0』;
表示字串的結束
#include#include#includevoid dton(int s, int n);
int main()
return 0;
}void dton(int s, int n)
str[i]='\0';
strrev(str);
puts(str);
}
東華OJ 69 進製轉換
問題描述 輸入乙個十進位制數,將其化成n進製數輸出 2 n 16 輸出結果時,大於等於10的數字用字母代替,a代表10,b代表11以此類推。輸入說明 你的程式需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資料。每組輸入資料由一行組成,每行有2個數,分別代表十進位制數m 0 m 2 31 和進製n 2...
東華oj 基礎題第32題
32 完數個數 問題描述 完數的定義 如果乙個大於1的正整數的所有真因子 不包括自己的那些因子 之和等於它的本身,則稱這個數是完數,比如6,28都是完數 6 1 2 3 28 1 2 4 7 14。本題的任務是判斷兩個正整數之間完數的個數。輸入說明 第一行是乙個正整數n,表示測試例項的個數,然後就是...
東華oj 基礎題第40題
40 分拆素數和 問題描述 把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?說明 比如10,可以拆成3 7和5 5以及7 3,但是3 7與7 3相同,只算一種,5 5由於兩個素數相同,不計算在內。因此,10的拆法只有一種。輸入說明 首先輸入乙個t 不超過500 然後輸入t個正的偶數,其值不會超過100...