习题9-3 平面向量加法
本题要求编写程序,计算两个二维平面向量的和向量。
输入格式:
输入在一行中按照“x1 y1 x2 y2”的格式给出两个二维平面向量,和,的分量。
输出格式:
在一行中按照(x, y)
的格式输出和向量,坐标输出小数点后一位(注意不能输出−)。
输入样例:
3.5 -2.7 -13.9 8.7
输出样例:
(-10.4, 6.0)
1 #include <stdio.h> 2 #include <math.h> 3 4 int main() 5 { 6 7 double x1,y1,x2,y2; 8 9 scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2); 10 11 double x,y; 12 13 x=x1+x2; 14 15 y=y1+y2; 16 //当x,y的绝对值小于0.05时,不符合要求“不输出-0.0”,此时x,y的值应置为0.0 17 if(fabs(x)<0.05) 18 { 19 20 x = 0.0; 21 22 } 23 24 if(fabs(y)<0.05) 25 { 26 27 y = 0.0; 28 29 } 30 31 printf("(%.1f, %.1f)",x,y); 32 33 34 35 return 0; 36 37 }
这个题我就比较无语了,以上的代码不是我写的,我到网上找的。我先说所我无语的地方:
我写了一个最普通的,有2个数据,只能通过1个,另一个通不过,系统提示说,小数点后多位,检查舍入和-0
我以为是:如果结果是0.0,应该是输出0,我就一直写,一直改,我还考虑到,如果他们相加是0.03,应该是0.0,应该就是0.
没想到系统提示注意的点是,四舍五入的问题。我就很无语了。