joj1004

来源:互联网 发布:只有我知bilibili双语 编辑:程序博客网 时间:2024/05/21 15:07
 
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <memory>
  4. #include <string.h>
  5. using namespace std;
  6. const int maxn=2000;
  7. double oct[8]={0,125,250,375,500,625,750,875};
  8. int main ()
  9. {
  10. char str[maxn];
  11. int oc[maxn],dec[3*maxn];
  12. while (memset(str,'/0',sizeof(str)),cin>>str)
  13. {
  14. int i,len=strlen(str),j;
  15. for( i=0 ,j=len-1;str[j]!='.' ; i++,j--)
  16. oc[i]=str[j]-48;
  17. cout<<str<<" [8] = 0.";
  18. for( i=0 ;i<len-2 ; i++)
  19. for( j=0 ; j<len-2-i ; j++)
  20. {
  21. oc[j]=oc[j]*125;
  22. if( oc[j]>999)
  23. {
  24. oc[j+1]+=oc[j]/1000;
  25. oc[j]=oc[j]%1000;
  26. }
  27. }
  28. for(i=len-3 ; i>0 ;i--)
  29. {
  30. if(oc[i]>99)
  31. cout<<oc[i];
  32. else if(oc[i]<100 && oc[i]>9)
  33. cout<<"0"<<oc[i];
  34. else if(oc[i]<10)
  35. cout<<"00"<<oc[i];
  36. }
  37. if (oc[0]%10)cout<<oc[0];
  38. else if(oc[0]%100)cout<<oc[0]/10;
  39. else if(!(oc[0]%100))cout<<oc[0]/100;
  40. cout<<" [10]\n" ;
  41. }
  42. return 0;
  43. }
原创粉丝点击