题目
输入一些分数,输出该分数的循环节。
比如:
input:1/3 1/6 6/11
output:0.(3)
output:0.1(6)
output:0.(54)
思路就是模仿小数除法的过程,通过将每一次除法得到的结果跟之前的结果匹配,从而找出循环节
代码实现
#include<stdio.h>
#include<math.h>
#include<string.h>
#define decimal 100 //control accuracy
int stack[255] = {
0};
int result_stack[255] = {
0};
int convert2int(char* str,int x[]) //the return value is the length of the int array
{
int state = -1 , state_old;
int len = 0 , i = 0 , j;
char buff[255];
while(*str!= '\0')
{
state_old = state;
switch((*str)) //state machine
{
case ' ':
state = -1;
break;
case '/':
state = 1;
break;
default:
if(state