亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問錯在哪?好像無限循環了

請問錯在哪?好像無限循環了

C
RISEBY 2023-03-19 21:17:35
#include "stdio.h"main(){long int a[99999],b,i,c=0,e=1,j=0;printf("輸入十進制數:");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("結果是%ld\n",j);}
查看完整描述

2 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

你這段程序問題太多了。好好學習基礎知識,理清編程思路再做開發。不要想到哪里就寫到那里。

1. 你沒有讓用戶輸入要轉換成什么進制;
2. 變量 e 是啥作用?
3. a[i]*e 永遠等于 a[i] 。
4. e*10 是啥意思?
5. 除非是轉換為十進制,否則 e 不應該乘以10啊。
6. 死循環在這里 while(i!=0) 里面沒有對 i 進行減操作。
7. 這是啥寫法啊?
for(i=c;i!=0;i--)
{
while(i!=0) 


查看完整回答
反對 回復 2023-03-22
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

你的while循環里一直沒有改變i,也就是說i將一直滿足不等于0的循環條件,所以會陷入死循環。

查看完整回答
反對 回復 2023-03-22
  • 2 回答
  • 0 關注
  • 111 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號