分数变小数问题
来源:互联网 发布:矢量gif制作软件 编辑:程序博客网 时间:2024/05/01 22:32
/*****接受一个以n/d形式的分数输出他的小数形式 ********/
/*****如果他的小数形式有循环节,要将其用括号括其来****/
/********求解可以用模仿手算除法的形式,***************/
/***********重复进行求商和余数的运算,****************/
/***********到余数为0活出现循环节为止*****************/
#include<stdio.h>
#define N 1000
int left[N],dight[N]; //商数,余数
int q; //循环节
int top;
int n,d;
void work()
{
while(left[top]!=0)
{
top++;
left[top]=(left[top-1]*10)%d;
dight[top]=(left[top-1]*10)/d;
if(top>2)
for(int i=0;i<=top;i++) //检测循环节
{
if(left[top]==left[i])
{
q=top;
return;
}
else
break;
}
}
}
void init()
{
left[0]=n%d;
dight[0]=n/d;
top=0;
q=0;
}
void print()
{
printf("%d/%d = ",n,d);
if(dight[0]!=0)
printf("%d",dight[0]);
if(top>0)
{
printf(".");
if(q>0)
{
printf("(");
for(int i=1; i<=q; i++)
printf("%d",dight[i]);
printf(")");
}
else
{
for(int i=1; i<=top; i++)
printf("%d",dight[i]);
}
}
}
void main()
{
printf("enter n / d:/n");
scanf("%d %d",&n,&d);
init();
work();
print();
}
- 分数变小数问题
- 分数变小数该方法不可行
- 分数变小数可行的方法把整数和分数分开打用%以及POW
- 图象变小打印问题
- 优盘变小问题
- win声音突然变小问题
- 分数问题
- 数分?分数!
- 分数,整形数运算
- Android程序分辨率变小的问题
- 内核切换后BogoMIPS变小的问题
- ac3音频 机顶盒播放音量变小问题
- 解决图像打印结果变小的问题
- 如何解决U盘容量变小问题
- Beyond Compare之工具栏图标变小问题
- 浮点数的分数表达
- 8599 埃及分数问题
- 埃及分数问题
- FreeBSD的安全问题-转自http://xfocus.org/
- 生产者/消费者问题在windows2000下的实现
- 用Java编写扫雷游戏--代码思想
- [水晶报表小技巧-开发-3]ASP.Net中使用水晶报表10的打印功能
- 读数问题
- 分数变小数问题
- 发现几本计算机的好书-数学基础
- MSN Messenger的圣诞贴图祝福
- 工作流应用的开发方法学
- 编译原理-现在才感受到他的重要性。
- Introducing to Spring Framework[收藏]
- Java 2源码解读:java.util.ArrayList (转)
- 封腾讯(转)
- 项目原型搭建-一群牛在工作