题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2522
代码:
#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
bool vis[200005];
int main() {
int t,n;
scanf("%d",&t);
while(t--) {
memset(vis,false,sizeof(vis));
scanf("%d",&n);
if(n<0) { //注意题上的绝对值
printf("-");
n=-n;
}
if(n==1) { //不能是 else if 小心-1
printf("1\n");
continue;
} else {
printf("0.");
vis[0]=true;//防止多输出0;
int m=1;//分子;
while(vis[m]==false) {
vis[m]=true;
m*=10;
printf("%d",m/n);
m%=n;
}
}
printf("\n");
}
}