#include<iostream>
using namespace std;
double sumArea(double *radius,int n);
int main(){
int n;
cin>>n;
double *radius=new double [n];
for(int i=1;i<=n;i++)
{
double temp;
cin>>temp;
radius[i]=temp;
}
cout<<sumArea(radius,n)<<endl;
delete []radius;
return 0;
}
double sumArea(double *radius,int n){
for(int j=1;j<=n;j++)
{
const double pi=3.14;
radius[0]=0;
radius[0]+=rradius[j]*radius[j]*pi;
}
return radius[0];
}
用c++实现:给出n个圆的半径,求n个圆的面积之和。想问下各位大佬这个有什么问题运行的结果不对。。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 蒟蒻一枚 2021-01-12 09:35关注
sumArea函数里,第一个错误是redius[0]每次循环都赋值为0,而它是一个累加器,所以赋初值应该在for循环前面。第二个错误是for循环里最后一行redius打错了。。。
参考代码:
#include<iostream> using namespace std; double sumArea(double *radius,int n); int main(){ int n; cin>>n; double *radius=new double [n]; for(int i=1;i<=n;i++) { double temp; cin>>temp; radius[i]=temp; } cout<<sumArea(radius,n)<<endl; delete []radius; return 0; } double sumArea(double *radius,int n){ radius[0]=0; for(int j=1;j<=n;j++) { const double pi=3.14; radius[0]+=radius[j]*radius[j]*pi; } return radius[0]; }
解决 1无用
悬赏问题
- ¥15 不同模型怎么用同一个shader
- ¥15 安卓启动没有ais proxy与v4l2的log打印
- ¥15 go怎么读取mdb文件里面的数据
- ¥60 Matlab联合CRUISE仿真编译dll文件报错
- ¥15 脱敏项目合作,ner需求合作
- ¥15 脱敏项目合作,ner需求合作
- ¥30 Matlab打开默认名称带有/的光谱数据
- ¥15 res.rows如何取值使用
- ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
- ¥15 CSP算法实现EEG特征提取,哪一步错了?