正数负数大数小数都试过了,就是通过不了测试点1,求高人指点。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x;
scanf("%d",&x);
int n,i,a[100000]={1},c[100000]={0},ditia=a[0],index,flag=0;
for(i=0;;i++)
{
c[i]=ditia/x;
if(c[i]<0)
{
c[i]*=-1;
flag=1;
}
index=i;
if(ditia%x==0)
break;
ditia=ditia%x*10+1;
}
if(flag)
{
printf("-");
}
for(i=0;i<100000;i++)
{
if(c[i]!=0)
printf("%d",c[i]);
}
printf(" %d\n",index+1);
}