c语言题目:输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。例如a=1,b=6,c=4时应输出0.1667
高手们看清题目再帮我好吗?我只是举个例子而已,并不是就是这几个数。万一我输入1,2,3,或者4,6,5……...
高手们看清题目再帮我好吗?我只是举个例子而已,并不是就是这几个数。万一我输入1,2,3,或者4,6,5……
展开
5个回答
展开全部
void div(int a, int b, int n)
{
int i;
int yushu=a%b;
printf("%d.",a/b);
for(i=0;i<n;i++)
{
yushu *= 10;
printf("%d",yushu/b);
yushu=yushu%b;
}
}
应该可以了。你试下。
{
int i;
int yushu=a%b;
printf("%d.",a/b);
for(i=0;i<n;i++)
{
yushu *= 10;
printf("%d",yushu/b);
yushu=yushu%b;
}
}
应该可以了。你试下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
int a,b,c,cc=1;
scanf("%d%d%d",&a,&b,&c);
for(int i=1;i<=c;i++)
cc=cc*10;
int d=int((1.0*a/b)*cc);
printf("%f\n",(double)d/cc);
}
能力有限,只能帮你做到此了,输出结果末尾有无效的0,不知怎么去掉。希望能帮到你
void main()
{
int a,b,c,cc=1;
scanf("%d%d%d",&a,&b,&c);
for(int i=1;i<=c;i++)
cc=cc*10;
int d=int((1.0*a/b)*cc);
printf("%f\n",(double)d/cc);
}
能力有限,只能帮你做到此了,输出结果末尾有无效的0,不知怎么去掉。希望能帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为如果是int型的话,用a/b得不到小数点,是整除的结果,所以要转换为float型或者a*1.0/b或者a.0/b;
其实在多数都是这个原理的,方法没改变的,不会影响的,除非有0的话,就要用If判断一下的
希望可以帮助到你
其实在多数都是这个原理的,方法没改变的,不会影响的,除非有0的话,就要用If判断一下的
希望可以帮助到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{
int a,b;
float c;
a=1;
b=6;
c=a*1.0/b;
printf("%f",c);
}
乘以一个小数就可以
{
int a,b;
float c;
a=1;
b=6;
c=a*1.0/b;
printf("%f",c);
}
乘以一个小数就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你没有考虐溢出哦,亲
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询