sia0368
30-11-2008, 16:55
#include <stdio.h>
#include <conio.h>
main()
{
float adad;
int ashar,sahih;
clrscr();
printf ("enter a num:");
scanf ("%f",&adad);
if (adad==(int)adad)//adad sahih ast?
{
sahih=adad;
while(1)
{
if (sahih/10==0)
{
printf ("%d",(int)sahih%10);
break;
}
printf("%d",(int)sahih%10);
sahih=sahih/10;
}//end while(1)
}//end if
else
{
sahih=(int)adad;
if (adad-sahih<=0.9)//tabdile ashari be sahih
ashar=(adad-sahih)*10;
else if (ashar<=0.99)
ashar=(adad-sahih)*100;
else if (ashar<=0.999)
ashar=(float)(adad-sahih)*1000;
while(2)
{
if (ashar/10==0)
{
printf ("%d",(int)ashar%10);
break;
}
printf("%i",(int)ashar%10);
ashar=ashar/10;
}//end while(2)
printf (".");
while(3)
{
if (sahih/10==0)
{
printf ("%d",(int)sahih%10);
break;
}
printf("%d",(int)sahih%10);
sahih=sahih/10;
}//end while(3)
}//end else
getch();
}
من این برنامه رو نوشتم ولی هرچی نگاه میکنم نمیفهمم مشکلش کجاست؟
این برنامه باید هر عدد مثبتی رو که کاربر وارد کرد معکوس کنه مثلا:
کاربر 21.85 رو که وارد کنه برنامه 58.12 رو نشون بده
اگه کلا این الگوریتم و راه حلش اشتباه است الگوریتم درستش رو هم بگید ممنون برای این 5شنبه میخوامش ممنون
#include <conio.h>
main()
{
float adad;
int ashar,sahih;
clrscr();
printf ("enter a num:");
scanf ("%f",&adad);
if (adad==(int)adad)//adad sahih ast?
{
sahih=adad;
while(1)
{
if (sahih/10==0)
{
printf ("%d",(int)sahih%10);
break;
}
printf("%d",(int)sahih%10);
sahih=sahih/10;
}//end while(1)
}//end if
else
{
sahih=(int)adad;
if (adad-sahih<=0.9)//tabdile ashari be sahih
ashar=(adad-sahih)*10;
else if (ashar<=0.99)
ashar=(adad-sahih)*100;
else if (ashar<=0.999)
ashar=(float)(adad-sahih)*1000;
while(2)
{
if (ashar/10==0)
{
printf ("%d",(int)ashar%10);
break;
}
printf("%i",(int)ashar%10);
ashar=ashar/10;
}//end while(2)
printf (".");
while(3)
{
if (sahih/10==0)
{
printf ("%d",(int)sahih%10);
break;
}
printf("%d",(int)sahih%10);
sahih=sahih/10;
}//end while(3)
}//end else
getch();
}
من این برنامه رو نوشتم ولی هرچی نگاه میکنم نمیفهمم مشکلش کجاست؟
این برنامه باید هر عدد مثبتی رو که کاربر وارد کرد معکوس کنه مثلا:
کاربر 21.85 رو که وارد کنه برنامه 58.12 رو نشون بده
اگه کلا این الگوریتم و راه حلش اشتباه است الگوریتم درستش رو هم بگید ممنون برای این 5شنبه میخوامش ممنون