想一想你平时是怎么计算除法的。这个程序其实就是模拟除法的;
#include<iostream>
#include<string.h>
using namespace std;
int hash[100003];
int main()
{
int n;
cin>>n;
while(n--)
{
int a;
cin>>a;
if(a==1)
{
cout<<1<<endl;
}
else
{
if(a<0)
{
cout<<'-';
a=-a;
}
cout<<"0.";
int res=1;
memset(hash,0,sizeof(hash));
hash[1]=1;
while(res)
{
res=res*10;
cout<<res/a;
if(hash[res%a])
break;
hash[res%a]=1;
res=res%a;
}
cout<<endl;
}
}
}