//輸入「bin」的值後,我沒有得到任何輸出。請幫我解決這個問題。我添加了「bin = bin/10;」但問題仍未解決。我已經編寫了用於從二進制轉換爲十進制的代碼,但沒有得到輸出。沒有什麼是在屏幕上打印
#include<stdio.h>
#include<math.h>
int main()
{
int ar[20],bin,i=0,sum=0,j,c;
printf("Enter a Binary number\n");
scanf("%d",&bin);
while(bin!=0||bin!=1)
{
c=bin%10;
ar[i]=c;
i++;
}
ar[i]=c;
for(j=0;j<=i;j++)
{
sum=sum+(ar[j]*pow(2,j));
}
printf("%d",sum);
return 0;
}
更新:while循環,現在看起來是這樣的:
while(bin!=0||bin!=1)
{
c=bin%10;
ar[i]=c;
bin=bin/10;
i++;
}
所有'ar'元素都將得到與'bin'相同的值,從不改變。 – alk
您的標題提示像'1001'和輸出:'9'這樣的輸入。那是你要的嗎?在這種情況下,你的程序遠不是那樣。 – 4386427
我已經更新了代碼,請再次檢查。 –