题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5601

题意:求一个绕y轴旋转的旋转体体积。R = 2+cos(z)。

思路:旋转体体积可以直接用积分求出来,旋转体表面积公式对于此题积分比较难积,所以用矩形法来求积分。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int T;
 4 double z1, z2, V, area;
 5 const double pai = acos(-1.0);
 6 double getV()
 7 {
 8     double x1 = 4.5*z1 + 4*sin(z1) + 0.25*sin(2*z1);
 9     double x2 = 4.5*z2 + 4*sin(z2) + 0.25*sin(2*z2);
10     return pai*(x2-x1);
11 }
12 double fun(double x)
13 {
14     return 2*pai*(2+cos(x))*sqrt(1.0+sin(x)*sin(x));
15 }
16 double getpart(double x, double y)
17 {
18     double ans = 0;
19     double cut = (y-x)/5000;
20     double low = x, high;
21     for(int i = 1; i <= 5000; i++)
22     {
23         high = low+cut;
24         ans += (fun(low) + fun(high))/2*cut;
25         low += cut;
26     }
27     return ans;
28 }
29 int main()
30 {
31     scanf("%d", &T);
32     while(T--)
33     {
34         scanf("%lf%lf", &z1, &z2);
35         if(z1 > z2) swap(z1, z2);
36
37         V = getV();
38         int cnt = int((z2-z1)/(pai*2));
39         area = pai*(2+cos(z1))*(2+cos(z1));
40         area += getpart(z1, z1+2*pai)*cnt;
41         area += getpart(z1+2*pai*cnt, z2);
42         printf("%.8lf %.8lf\n", V, area);
43
44     }
45     return 0;
46 }

 

转载于:https://www.cnblogs.com/titicia/p/4816610.html

ZOJ 3898 Stean 矩形法求积分相关推荐

  1. 写一个用矩形法求定积分的通用公式,分别求 sinx在0-1上积分,cosx在0-1上积分,e^x在0-1上积分

    写一个用矩形法求定积分的通用公式,分别求 sinx在0-1上积分,cosx在0-1上积分,e^x在0-1上积分 #include <stdio.h> #include <stdlib ...

  2. c语言用矩形法计算积分,C++编程:写一个用矩形法求定积分的通用函数

    C++编程:写一个用矩形法求定积分的通用函数 分别求: 说明:sina,cos,exp 函数已在系统的数学函数库中,程序开头要用#indlude 以下是此题的[c++源代码],需要[c源代码]请点击进 ...

  3. c语言编程矩形法定积分例题,Problem E: C语言习题 矩形法求定积分

    非优秀的程序员常常把空间和时间消耗殆尽,优秀的程序员则总是有足够的空间和时间去完成编程任务,而且配合近乎完美. Description 写一个用矩形法求定积分的通用函数,分别求 (说明: sin,co ...

  4. c语言中求定积分矩形法,C语言使用矩形法求定积分的通用函数

    本文为大家分享了C语言使用矩形法求定积分的通用函数,供大家参考,具体内容如下 要求: 写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x . 分析: 矩形法,学过高等数学就知 ...

  5. 写一个用矩形法求定积分的通用函数

    //写一个用矩形法求定积分的通用函数 #include<stdio.h> #include<math.h> double sinx(double x) {return sin( ...

  6. 用C语言用指针怎么算通用定积分,C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数,...

    问题描述: C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数, //我运行的结果和答案对不上,请帮我看看程序对吗? //实现积分 #include #include i ...

  7. C语言用矩形法求定积分的通用函数,分别求 sinx, cosx,e^x

    要求: 写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x . 分析: 矩形法,学过高等数学就知道化曲为直的思想.将定积分化为多个函数连续的和.基本思想是将区间[a,b]化成 ...

  8. 编写指数函数 c语言,C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数,...

    问题描述: C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数, //我运行的结果和答案对不上,请帮我看看程序对吗? //实现积分 #include #include i ...

  9. (C语言)写一个用矩形法求定积分的通用函数, 分别求∫sin(x)dx, ∫cos(x)dx ,∫e^xdx

    写一个用矩形法求定积分的通用函数,分别求∫sin(x)dx, ∫cos(x)dx ,∫e^xdx #define _CRT_SECURE_NO_WARNINGS #include<stdio.h ...

最新文章

  1. 获香港证监会颁发牌照的弘量研究,正用智能投顾帮助金融机构降低成本,提升资产管理能力 By 藤子2017年10月09日 17:16 撰文 | 藤子 2015 年,雷春然和黄耀东都是在香港科技大学的
  2. 入职体检——项目列表(11项)
  3. mysql xdevapi_MySql Connector/C++8简介
  4. 2018深圳国际零售信息化暨无人售货展
  5. OpenCV学习笔记——多种Smooth平滑处理
  6. Linux 下安装杀毒软件 clamav
  7. 用计算机知识写祝福,计算机课程设计心得体会
  8. 对象不支持“attachEvent”属性或方法的解决办法
  9. 无线MODEM使用心得
  10. Matlab中loglog函数使用
  11. 深恶痛绝重写setter和getter
  12. mac升级node版本(用n升级nodejs)
  13. android+锁屏录像,快速录像机(锁屏录像)
  14. 陀螺仪和加速度计MPU6050的单位换算方法
  15. linux srr 乱码,批量下载SRR数据
  16. 如何把魅族Pro 5刷成Ubuntu手机
  17. 面向对象三大特性,五大原则
  18. access tempvars 宏_Access数据库教程之使用常用对象来加快Access 2007数据库三
  19. 道路交通安全改善解决方案PPT
  20. 上位机和Arduino的通信的解决方案

热门文章

  1. opensll zbar交叉编译(君正平台)
  2. java-php-python-汽车销售系统计算机毕业设计
  3. 某手机在-20度环境下,只能读到电池温度为-18℃
  4. 用友U8如何调整凭证打印模板
  5. #ifdef _cplusplus是什么意思
  6. 威纶触摸屏键盘不显示数字_威纶触摸屏功能键使用教程
  7. 【中文】【吴恩达课后编程作业】Course 1 - 神经网络和深度学习 - 第四周作业(12)
  8. 在c语言程序中使用数据库,数据库与C语言程序设计两者之间有什么联系?
  9. WINDOW中判断文件是否存在的方法
  10. sina获取股票代码java