سلام
کد زیر رو برای تبدیل عدد مبنای ۲ به ۱۰ نوشتم، اما جواب گاهی درست و گاهی غلط هست، بسته به عدد.
آیا میشه فقط با استفاده از for, while, if و عملگرهای اولیه، و بدون استفاده از تابع pow یا توابع دیگه و یا مقدارهایی که از طریق retu بازگشت داده میشه، تبدیل رو انجام داد؟ چون هنوز چیزی در مورد توابع و مقدار بازگشتی نمیدونم.
int yes=1,i=0,j=0,r=0,step1=0,x,b;
scanf("%d",&x);
while(yes){
step1=x%10;
for(j=i,b=i;j>0;j--)
r=r+(step1*b);
if(i==0&&step1==1)
r=1;
x=x/10;
if(x==0)
yes=0;
i++;
}
printf("%dn",r);
retu 0;
برچسب:
نویسنده: محمد رضا جوادیان