#include<iostream>
#include<cstdio>
using namespace std;
double r;
int main(){
scanf("%lf",&r);
printf("%.2lf",4/3*3.14*r*r*r);
return 0;
}
因为前面4/3是整数运算,结果1,然后再乘以后面的表达式,所以结果就是200.96了;
把4或3一个改为带个小数点即可让整数运算变为double类型计算, 让除法运算保留小数结果,最后计算出结果的精度会更高。
修改如下:
参考链接:
#include<iostream>
#include<cstdio>
using namespace std;
double r;
int main(){
scanf("%lf",&r);
// https://blog.csdn.net/weixin_49635198/article/details/116708682
printf("%.2f",4.0/3*3.14*r*r*r);
return 0;
}
二叉树中序遍历函数:
先一直访问左孩子再访问根节点再访问右孩子,若为NULL则返回
void InOrder(BTNode* root) { if (root == NULL){ printf("NULL "); return; } InOrder(root->left); printf("%C ", root->data); InOrder(root->right); }