解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<math.h>
int main(){
int p,q,x;
scanf("%d%d",&p,&q); //输入p、q
scanf("%d",&x); //输入小数前q位
int y=x/pow(10,q-p+1); //循环节前几位
int z=x-y*pow(10,q-p+1); //循环节
int fenmu=(pow(10,q-p+1)-1)*pow(10,p-1); //没有化简的分母
int fenzi=z+y*(pow(10,q-p+1)-1); //没有化简的分子
//化简分子和分母
int b=fenmu,s=fenzi;
int c=b%s;
while(c){
if(s>c){
b=s;
s=c;
}
else
b=c;
c=b%s;
}
fenmu=fenmu/s;
fenzi=fenzi/s;
printf("%d %d",fenzi,fenmu);
return 0;
}
0.0分
5 人评分
简单的a+b (C语言代码)浏览:764 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1432 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2098 |
【简单计算】 (C语言代码)浏览:642 |
循环入门练习5 (C语言代码)浏览:907 |
1197求助浏览:667 |
众数问题 (C语言代码)浏览:717 |
筛排处理 (C语言代码)浏览:830 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:658 |
字符串对比 (C++代码)浏览:597 |