// "bin"の値を入力した後、出力が得られません。これで私を助けてください。私は "bin = bin/10;"を追加しました。まだ問題は解決されていません。私はバイナリから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ループは次のようになります。
bin!=0 || bin!=1
が常に評価するよう
while(bin!=0||bin!=1)
{
c=bin%10;
ar[i]=c;
bin=bin/10;
i++;
}
すべての 'ar'要素は、' bin'が決して変更しないのと同じ値を割り当てられます。 – alk
あなたのタイトルは、 '1001'や出力:' 9'のような入力を示唆しています。それはあなたが欲しいものですか?その場合、あなたのプログラムはそれとはかけ離れています。 – 4386427
私はCODE、plsチェックを再度更新しました。 –