[問題] 10進位轉10以上進位 …

看板C_and_CPP作者 (帥宅宅)時間15年前 (2010/11/30 16:34), 編輯推噓4(4016)
留言20則, 6人參與, 最新討論串1/1
{int a,b,x; scanf("%d",&x); a=0; b=1; while(x!=0) { a=a+(x%11)*b; x=x/11; b=b*10; } switch(a) { case 10:printf("A"); break; default:printf("%d",a); break; } 想用switch做 可是11和10轉了之後都是10 一樣會顯示A 怎做呢 應該說 有辦法嗎= = 抱歉 板規沒看清楚@@ 補上問題 輸入一個數 然後要找出他的因數 例如 輸入20 會出現2*2*5 int x,a,b; a=1; scanf("%d",&x); while(x>=2*a) { if(x % a == 0) { printf("%d * ", a); x /= a; } a++; } printf("%d\n", x); 這是正確的 忘記當初問題在哪了 各位抱歉= = 現在 有辦法把輸入20 變成 5*2*2嗎?? 就是倒過來 剛學沒多久 鞭小力點 謝謝@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.60.32 ※ 編輯: show1123 來自: 140.134.60.32 (11/30 16:35)

11/30 16:43, , 1F
你不要想把轉出來的 11 進位"拼"回一個整數
11/30 16:43, 1F

11/30 16:43, , 2F
如果是拼成一個字串那還有道理一點
11/30 16:43, 2F

11/30 16:49, , 3F
好像有點懂@@ 所以不能讓他用數字的方式呈現= =?
11/30 16:49, 3F

11/30 16:50, , 4F
b=b*10 改成 b=b*11 你除跟乘的數目要一致
11/30 16:50, 4F

11/30 16:51, , 5F
最好是像1F所說, 速度快, 印的時候也方便
11/30 16:51, 5F
※ 編輯: show1123 來自: 140.134.60.32 (11/30 16:55)

11/30 17:00, , 6F
第2個問題怎麼不見了@_@
11/30 17:00, 6F

11/30 17:09, , 7F
第二個解決了@@ 多謝~
11/30 17:09, 7F

11/30 18:32, , 8F
http://nopaste.csie.org/c6e26 換十以上的進位
11/30 18:32, 8F

11/30 18:34, , 9F
>4F b=b*11 就拼回原來的數了啊 XD 所以我才說不如拼成字串
11/30 18:34, 9F

11/30 18:36, , 10F
阿對吼 0.0
11/30 18:36, 10F

11/30 18:52, , 11F
嗯,別問完就刪除呀...。
11/30 18:52, 11F

11/30 19:04, , 12F
同意樓上。發文時就講會自刪→真男人。一開始不講之後才刪
11/30 19:04, 12F

11/30 19:04, , 13F
→偷雞摸狗
11/30 19:04, 13F

11/30 19:06, , 14F
同意樓上!!
11/30 19:06, 14F
※ 編輯: show1123 來自: 140.134.27.174 (11/30 20:03)

11/30 20:10, , 15F
請問有辦法用SWITCH做出來嗎0.0
11/30 20:10, 15F

12/01 13:24, , 16F
用 switch 是可以做到, 但是程式會比較長, 把每一個字
12/01 13:24, 16F

12/01 13:26, , 17F
元存到陣列就可以比較快轉成字元, 最後結果存到字串
12/01 13:26, 17F

12/01 13:27, , 18F
裡面: http://ppt.cc/(43T 第二個問題你可以把++a 改
12/01 13:27, 18F

12/01 13:27, , 19F
成 --a 試試
12/01 13:27, 19F

12/01 13:30, , 20F
修改 13:26 ^成
12/01 13:30, 20F
文章代碼(AID): #1CzBRuaz (C_and_CPP)