简单的计算就出错了
题目描述:
设圆半径r,圆柱高h 求圆周长C1、圆面积Sa、圆球表面积Sb、圆球体积Va、圆柱体积Vb。 用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 PI=3.14
输入
两个浮点数,r和h
输出
C1=9.42
Sa=7.07
Sb=28.26
Va=14.13
Vb=21.19
提示:需要注意输出的字母的大小写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <stdio.h> int main(int argc, char *argv[]) { float r,h,C1,Sa,Sb,Va,Vb; scanf("%f %f",&r,&h); C1=2*3.14*r; Sa=3.14*r*r; Sb=4*Sa; Va=4*3.14*r*r*r/3; Vb=Sa*h; printf("C1=%.2fn",C1); printf("Sa=%.2fn",Sa); printf("Sb=%.2fn",Sb); printf("Va=%.2fn",Va); printf("Vb=%.2fn",Vb=Sa*h); return 0; } |
请注意最后一个打印输出:
如果是 printf("Vb=%.2fn", Vb=Sa*h); 结果就是 21.20
如果是 printf("Vb=%.2fn",Vb); 结果就是 21.19
1 2 3 4 5 6 7 8 9 10 11 12 | #include <stdio.h> int main(int argc, char *argv[]) { double r,h,C1,Sa,Sb,Va,Vb; scanf ("%lf%lf",&r,&h); printf("C1=%.2lfn",C1=2.0*3.14*r); printf("Sa=%.2lfn",Sa=r*3.14*r); printf("Sb=%.2lfn",Sb=4.0*3.14*r*r); printf("Va=%.2lfn",Va=4.0*3.14*r*r*r/3); printf("Vb=%.2lfn",Vb=h*3.14*r*r); return 0; } |
在Windows下编译,结果 Sa结果是7.06,而在Linux编译,结果是7.07