美国丽人 塑料袋:高分求解c语言!!答对追加20分!

来源:百度文库 编辑:神马品牌网 时间:2024/05/01 02:23:48
求12345除以56789,结果精确到小数点后20位
截至5月29日

void main()
{
char result[20];
long a=12345;
long b=56789;
int i;
printf("0.");
for(i=0;i<20;i++)
{
result[i]=a*10/b;
a=a*10-result[i]*b
printf("%d",result[i]);
}
}

用Double型来存数据就行

main()
{
double x=12345.0,y=56789.0;
double z;
z=x/y;
printf(".20%f\n",z);
}

超级简单:
思路如下:
int a:=12345;
int b:=56789;
int c:=0;//余数
int res[20];//存储结果
1:小数点后面第一个数为:a*10 / b 取整,存储到数组res[20], c:=(a*10)mod b;
a:=c , c:=0;
重复1;
最后结果就在res[20]里面
最后结果为
0.2173836482417369561006532955325855359312542922044762189860712461920442339185405624328655197309338076
我算到100位的

void main()
{
char result[20];
long a=12345;
long b=56789;
int i;
printf("0.");
for(i=0;i<20;i++)
{
result[i]=a*10/b;
a=a*10-result[i]*b
printf("%d",result[i]);
}