-
题目背景
计算半径为1到10的圆的面积,若面积在40到90之间请输出
-
接口
int OutPutRotundityArea(float* pResultArray。int &ArrayCount)
float* pResultArray :float型数组
Int ArrayCount:数组长度
-
规格
要求时间复杂度为O(n)
π = 3.14
这题实际上非常easy,但是题目给的和下载下来的project文件中的函数參数不同,下载下来的函数原型为:
#include <stdlib.h> #include <string.h> #include "oj.h" /* 功能: 输入: 输出: arrValue:存储返回的符合范围之内的圆面积,内存在函数外已经申请 nValue:返回数组的行数 返回: */ void OutputRotundityArea(float *arrValue,int &nValue) { }
题目的目的是计算1-10为半径圆的面积,然后对符合条件的结果存储到数组中,这里easy混淆浮点数推断相等于大小的区别.
完整代码:
#include <stdlib.h> #include <string.h> #include "oj.h" /* 功能: 输入: 输出: arrValue:存储返回的符合范围之内的圆面积,内存在函数外已经申请 nValue:返回数组的行数 返回: */ void OutputRotundityArea(float *arrValue,int &nValue) { nValue=0; float area; for(int i=1;i<=10;i++) { area=3.14*i*i; if(area>=40&&area<=90) arrValue[nValue++]=area; } }