6-4 分数转换小数(二)

来源

轻院教材【练习7-14】。

问题描述

  1. 编写一个C语言函数,函数名字是divide,返回值是void类型,即不需要返回值,参数列表有3个int类型变量m、n和scale作为形式参数。

函数divide( )的功能是把分数m/n转化为小数输出,即计算m除以n的商,并输出商到屏幕(只输出商,不输出m或n等无关的内容)。计算结果保留到小数点后scale位,最末位的数使用直接截断的方式,不需要四舍五入。每10个小数位为一组,使用空格分隔。行末没有空格,也没有换行符。

函数divide( )对应的函数原型如下:

void divide(int m, int n, int scale);

裁判测试程序样例:

#include <stdio.h>
void divide(int m, int n, int scale);
int main()
{
    int m;
    int n;
    int scale;
        
    scanf("%d/%d", &m, &n);
    scanf("%d", &scale);
    divide(m, n, scale);

    return 0;
}
// 你编写的代码将会嵌入到这里


输入样例:

22/7
0

输出样例:

3.

输入样例2:

123/456
50

输出样例2:

0.2697368421 0526315789 4736842105 2631578947 3684210526
代码长度限制		16 KB
时间限制			400 ms
内存限制			64 MB

参考代码:

void divide(int m, int n, int scale)
{
	int c=0;
	int i;
	printf("%d.", m/n);
	for(i=1;i<=scale;i++){
		m=m%n;
		m=m*10;
		printf("%d", m/n);
		c++;
		if((c%10==0)&&(c<scale)){
			printf(" ");
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值