一個二進制轉十進制的子函式改錯題
原題改了以后忘了,所以題目是原改錯題改了以后的,但還是有問題
題目如下:
#include<studio.h>
int BinToDec(/**/ int p[] /**/)
{
int sum=0, i=0;
while(p[i]! ='\0')
{
sum=sum*2 /**/ +p[i]-0 /**/;
i++i;
}
return sum;
}
void main()
{
int street[80], s;
printf("Enter only 0, 1 string:") ;
scanf("%s",str);
s=BinToDec(/**/ str /**/) ;
printf("Bin=%s<==>Dec=%d\n", str, s) ;
}


uj5u.com熱心網友回復:
供參考:#include<stdio.h>
int BinToDec(char p[])
{
int sum=0,i=0;
while(p[i]!='\0')
{
sum = sum*2 + p[i]-'0';
i++;
}
return sum;
}
int main()
{
int s;
char str[80];
printf("Enter only 0,1 string:");
scanf("%s",str);
s=BinToDec(str);
printf("Bin=%s<=>Dec=%d\n",str,s);
return 0;
}
uj5u.com熱心網友回復:
可參https://bbs.csdn.net/topics/399167039uj5u.com熱心網友回復:
#include <stdio.h>
int main()
{
int remainder, number = 0, decimal_number = 0, temp = 1;
printf("\n Enter any binary number= ");
scanf("%d", &number);
// Iterate over the number until the end.
while (number > 0)
{
remainder = number % 10;
number = number / 10;
decimal_number += remainder * temp;
temp = temp * 2; // used as power of 2
}
printf("%d\n", decimal_number);
}
望采納,不懂的可以關注私信我。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/283854.html
標籤:C語言
上一篇:QT如何實作如圖所示對話框?
下一篇:C程里面這個看不懂了,求助!!!
