[求助]每当十进制小数的第一个循环周期输出后,就结束该数的输出。
对于n=2,3,4,。。。,50,输出1/n的十进制表示的字符列。要求每当十进制小数的第一个循环周期输出后,就结束该数的输出。以下是程序部分输出结果的样板:
1/2=0.50
1/3=0.3
1/4=0.250
1/5=0.20
1/6=0.16
1/7=0.142857
大家帮帮忙哈!
对于n=2,3,4,。。。,50,输出1/n的十进制表示的字符列。要求每当十进制小数的第一个循环周期输出后,就结束该数的输出。以下是程序部分输出结果的样板:
1/2=0.50
1/3=0.3
1/4=0.250
1/5=0.20
1/6=0.16
1/7=0.142857
大家帮帮忙哈!
#include <stdio.h>
void main()
{
int n,i,j,k;
float x;
int a[100];
printf("enter n\n");
scanf("%d",&n);
for(i=2;i<=n;i++){
x=1/((float)i);
for(j=0;;j++){
x=x*10;
a[j]=(int)x;
for(k=0;k<j;k++)
if(a[k]==a[j]) break;
break;
}
for(i=0;i<k;i++)
x=x+(float)a[i]/10;
printf("%f\n",x);
}
}
大家看看这个程序哪里有错