c语言中商数要求保留2位小数,怎么办?
来源:百度知道 编辑:UC知道 时间:2024/06/17 15:25:16
有一道题:
编写程序,从键盘输入两个整数,分别计算出它们的商和余数。输出时,商数要求保留2位小数,并对第三位进行四舍五入。(商和余数以空格分隔,商数以用10位显示)
我就是不知道怎么让商数保留2位小数?教教我吧!谢谢!
编写程序,从键盘输入两个整数,分别计算出它们的商和余数。输出时,商数要求保留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("%-