c语言题目:输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。例如a=1,b=6,c=4时应输出0.1667 10

#include<stdio.h>intmain(){inta,b,c,i,z,s;scanf("%d%d%d",&a,&b,&c);s=a%b;printf("%d."... #include<stdio.h>

int main(){
int a,b,c,i,z,s;
scanf("%d%d%d",&a,&b,&c);
s=a%b;
printf("%d.",a/b);
for(i=1;i<=c;i++)
if(i==c){
s*=10;
z=s/b;
s=s%b*10;
if(s/b>=5)
printf("%d",z+1); else
printf("%d",z);
}
else{
s *= 10;
printf("%d",s/b);
s=s%b;
}
return 0;
}
展开
pengyun1314123
2011-10-17 · TA获得超过1458个赞
知道小有建树答主
回答量:1049
采纳率:0%
帮助的人:522万
展开全部
你没有必要那样做的,直接这样就可以了。如。
c=8;
double pp=a/b;
if ( (pp*1000000000%10) > 4)//判断小数点后第9位是否大于4,大于4就要进位
pp+=0.00000001;
printf("结果是%0.8f",pp); //输出结果,自动只输出到小数点后8位。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友057ac9d
2014-05-28
知道答主
回答量:1
采纳率:0%
帮助的人:1363
展开全部
#include<stdio.h>
void main()
{
int a,b,c,i,x;
float n;
scanf("%d%d%d",&a,&b,&c);
printf("0.");
n=a/float(b);
for(i=0;i<c-1;i++)
{
x=n*10;
x%=10;
n*=10;
printf("%d",x);
}
x=n*100;
x%=10;
if(x+5>=10)
printf("%d",x+1);
else
printf("%d",x);
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-10
展开全部
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a=17728,b=23922,c=99,c1;
cin>>a>>b>>c;
int iz,iy;
int store[102]={0};
iz=a/b;
iy=a%b;
for(int i=1;i<=c+1;i++)
{
iy*=10;
if(iy>b)
{
store[i]=iy/b;
iy=iy%b;
continue;
}
else
{
store[i]=0;
}
}
//处理四舍五入
c1=c;
if(store[c1+1]>=5)
{
store[c1]+=1;
while(1)
{
if(store[c1]/10==1)
{
if(c1==1)
iz+=1;
store[c1]=0;
c1--;
store[c1]=store[c1]+1;
continue;
}
else break;
}
}
//输出控制
cout<<iz<<'.';
for(int i=1;i<=c;i++)
{
cout<<store[i];
}
cout<<endl<<(double)a/b<<endl;
cout<<(double)clock()/CLOCKS_PER_SEC;
system("pause");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HiLittleGirl
2011-10-18 · TA获得超过192个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:244万
展开全部
不用这么麻烦的,a/b前转换成double型
#include<stdio.h>
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
char str[81]="PI=%10.00f\n";
printf("输入 a,b,c:\n");
scanf("%d%d%d",&a,&b,&c);
str[7]='0'+c/10;
str[8]='0'+c%10;
printf(str,(double)a/(double)b);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skevin000
2011-10-17
知道答主
回答量:7
采纳率:0%
帮助的人:3.8万
展开全部
看着好像没问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式