ورود

View Full Version : مبتدی: برنامه معکوس کردن عدد اعشاری



javadbidel
چهارشنبه 25 آذر 1394, 22:33 عصر
سلام خدمت دوستان خوبم..
برنامه ای رو برای معکوس کردن عدد اعشاری نوشتم تو C
میخواستم ببینم ک ایا تو برنامه مشکلی وجود داره؟
چون وقتی Trace میکنم ک جواب میده..
اما بخاطر مدل ذخیره شدن اعشار ک دقیق نیست خروجی رو اشتباه میده...
برای حل این مساله راه حلی وجود داره؟
ببخشید ک تاپیک جدید ایجاد کردم..
چون تو تاپیک های قدیمی جوابی داده نمیشد

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
int i,n,b,d,f=1,k=0;
float m;
double e;
while(1){
printf("\nEnter your number\n");
scanf("%f",&m);
n=m,
e=m-n;
printf("\n %f\n",e);
for(i=1;f;i*=10){
e=e*10.0;
d=e;
k+=d*i;
e=e-d;
if(e==0)
f=0;
}
printf("\n%d",k);
printf(".");
do{
b=n%10;
printf("%d",b);
n/=10;
}while(n!=0);
}
getch();
return 0;
}

1-9-7-2
یک شنبه 29 آذر 1394, 02:51 صبح
#include <stdlib.h>
#include <stdio.h>

#define F 63.904

int main ()
{
float l = (int) F , r ; /* l: left , r: right */

r = ( F - l ) * 10 * 10 * 10 ;

while ( (int) ( l /= 10 ) > 0 ) ;

printf ( "%3.2f\n" , l + r ) ;

return ( EXIT_SUCCESS ) ;
}