- 题目背景
计算半径为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; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-05 20:25:49