来源
轻院教材【练习7-14】。
问题描述
- 编写一个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(" ");
}
}
}