#include "stdio.h"main(){long int a[99999],b,i,c=0,e=1,j=0;printf("輸入十進(jìn)制數(shù):");scanf("%ld",&b);for(i=0;b!=0;i++){a[i]=b%2;b=b/2;c++;}for(i=c;i!=0;i--){while(i!=0){a[i]=a[i]*e;e*10;}}for(i=0;i<c;i++){j+=a[i];}printf("結(jié)果是%ld\n",j);}
2 回答

侃侃爾雅
TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
你這段程序問(wèn)題太多了。好好學(xué)習(xí)基礎(chǔ)知識(shí),理清編程思路再做開發(fā)。不要想到哪里就寫到那里。
1. 你沒(méi)有讓用戶輸入要轉(zhuǎn)換成什么進(jìn)制;
2. 變量 e 是啥作用?
3. a[i]*e 永遠(yuǎn)等于 a[i] 。
4. e*10 是啥意思?
5. 除非是轉(zhuǎn)換為十進(jìn)制,否則 e 不應(yīng)該乘以10啊。
6. 死循環(huán)在這里 while(i!=0) 里面沒(méi)有對(duì) i 進(jìn)行減操作。
7. 這是啥寫法?。?br/>for(i=c;i!=0;i--)
{
while(i!=0)

慕森王
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
你的while循環(huán)里一直沒(méi)有改變i,也就是說(shuō)i將一直滿足不等于0的循環(huán)條件,所以會(huì)陷入死循環(huán)。
- 2 回答
- 0 關(guān)注
- 121 瀏覽
添加回答
舉報(bào)
0/150
提交
取消