-
题目背景
计算半径为1到10的圆的面积,若面积在40到90之间请输出
-
接口
int OutPutRotundityArea(float* pResultArray,int &ArrayCount)
float* pResultArray :float型数组
Int ArrayCount:数组长度
-
规格
要求时间复杂度为O(n)
π = 3.14
这题实际上很简单,可是题目给的和下载下来的工程文件里的函数参数不同,下载下来的函数原型为:
#include <stdlib.h>
#include <string.h>
#include "oj.h"
/*
功能:
输入:
输出: arrValue:存储返回的符合范围之内的圆面积,内存在函数外已经申请
nValue:返回数组的行数
返回:
*/
void OutputRotundityArea(float *arrValue,int &nValue)
{
}
题目的目的是计算1-10为半径圆的面积,然后对符合条件的结果存储到数组中,这里容易混淆浮点数判断相等于大小的差别.
完整代码:
#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;
}
}