c语言中商数要求保留2位小数,怎么办?

来源:百度知道 编辑:UC知道 时间:2024/06/17 15:25:16
有一道题:
编写程序,从键盘输入两个整数,分别计算出它们的商和余数。输出时,商数要求保留2位小数,并对第三位进行四舍五入。(商和余数以空格分隔,商数以用10位显示)

我就是不知道怎么让商数保留2位小数?教教我吧!谢谢!

程序主要通过printf格式化控制,主要代码如下,
//程序功能计算两整数的商和余数,商10位显示,四舍五入保留2位小数
#include <stdio.h>
int main(int argc, char *argv[])
{
int x,y;
while(1)
{
printf("输入除数x,被除数y:\n");
scanf("%d %d",&x,&y);
if(x==0)//非法数据检测
printf("除数x不能为0,重新输入!\n");
else
break;
}

printf("%10.2f %d\n",(float)y/x,y%x);//商占位10位,保留2位小数,自动四舍五入
return 0;
}

int printf( const char *format, ... );printf函数根据format给出的格式打印输出到STDOUT(标准输出)。用%m.nf精度修饰符让你指定想要的小数位数, 例如,%12.6f表示用12位显示(含小数点及所有数字),小数点后保留6位小数。

在C语言中,可以使用%m.nf,指定输出的数据占m列,n位小数,其中m前可以加-表示左对齐,默认是右对齐。

要求保留2位小数,可以写成%.2f。

实例代码如下:

#include<stdio.h>


int main()

{

    float a=3.14;

    float b=3;

    printf("%.2f\n",a/b);

    printf("%7.2f\n",a/b);

    printf("%-