某系统在统计收支时发现应收与实收出现误差。经检查发现采用了不同的计帐方式:应收帐是根据系统计算而得的结果,而实际收缴时按四舍五入方式以分为单位进行了收缴。请你编写一个程序,用两个实数的相加操作来解释误差产生的原因。
要求:第一个输出相加后的真实值,另一个先进行四舍五入精确到分(即0.01元)后再统计,最后计算其中的误差,输出误差的绝对值。
输入格式:
输入两个实数A,B。
输出格式:
第一行输出A+B的真实值(结果保留两位小数)
第二行输出A、B进行四舍五入后再相加后的值。
为了保证输出的美观,每个实数占15位,A为左对齐,B为右对齐,A+B的结果为左对齐。
第三行输出真实值与四舍五入后的误差的绝对值,输出格式为dev:误差值(按实际输出即可)
输入样例:
123456.345,4.896
输出样例:
123456.345000 + 4.896000=123461.24
123456.35 + 4.90=123461.25
dev:0.009000
#include<stdio.h>
int main()
{
double A,B,C,dev;
scanf("%lf,%lf",&A,&B);
C=A+B;
double A1=(int)(A*100+0.5)/100.0;
double B1=(int)(B*100+0.5)/100.0;
double c=A1+B1;
dev=fabs(C-c);
printf("%-15.6lf+%15.6lf=%-15.2lf\n",A,B,C);
printf("%-15.2lf+%15.2lf=%-15.2lf\n",A,B,c);
printf("dev:%.6lf",dev);
}