floor 函数的返回值是 double型的!!!
潜意识一直认为floor函数的返回值是int型整数,猛然才发现--潜意识是错的
有这么一道简单的题:
计算球体积
时间限制:3000 ms | 内存限制:65535 KB
难度:1
描述
根据输入的半径值,计算球的体积。
输入
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。(0<R<100)
- 输出
- 输出对应的球的体积,对于每组输入数据,输出一行,计算结果四舍五入为整数
Hint:PI=3.1415926 - 样例输入
-
1 1.5
- 样例输出
-
4 14
WA 代码:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
# define pi 3.1415926
int main()
{
float r;
while(scanf("%f",&r)!=EOF)
{
printf("%d\n",floor(4.0*pi*r*r*r/3.0+0.5));
}
return 0;
}
AC 代码:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
# define pi 3.1415926
int main()
{
float r;
while(scanf("%f",&r)!=EOF)
{
printf("%d\n",(int)(4.0*pi*r*r*r/3.0+0.5));
}
return 0;
}
二次AC 代码:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
# define pi 3.1415926
int main()
{
float r;
while(scanf("%f",&r)!=EOF)
{
printf("%.0lf\n",floor(4.0*pi*r*r*r/3.0+0.5));
}
return 0;
}
错误之处很容易比较出啊
posted on 2011-08-22 10:17 java课程设计例子 阅读(238) 评论(0) 编辑 收藏 举报