c 语言程序设计大赛题目,C语言程序设计大赛题目和答案1

/*---------------------- 第二题

写出一个程序,接受一个以N/D的形式输入的分数,其中N为分子,D为分母,输出它的小数形式。

如果它的小数形式存在循环,则要将其用括号括起来。例如: 1/3= 0.(3)

41/333= 0.(123) 22/5=4.4

1/7=0.(142857) 3/8=0.375

45/46=0.9(7826086956521739130434)

本题中,0≤N≤65535,0≤D≤65535,设运算结果小数点后最多保留100位。

输入样例: 1, 7

输出样例: 1/7=0.(142857)

-----------------------*/

#include

void main(){ long int digit[101]; //存放结果的数组,0号元素放整数部分,其余放小数部分 long int remainder[101]; //存放余数 int state=0; //是否是循环小数,默认不是 long int repetendstart=0; //循环节的开始位置和结束位置 long int n,d; //输入的分子和分母 int i; printf(\ scanf(\//输入分子和分母 digit[0]=n/d; remainder[0]=n%d; //求出第一个余数 i=0; while(remainder[i] && !state && i<100){ //求小数部分 i++; //i记录了求了多少位小数 digit[i]=remainder[i-1]*10/d; //求出一位小数 remainder[i]=remainder[

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值