鱼C论坛

 找回密码
 立即注册
查看: 1393|回复: 4

求编一个程序

[复制链接]
发表于 2015-2-25 09:46:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
做一个C语言的程序:
a=18.0,b=270.0,h的值要求输入范围(2个数值,最小值和最大值),但是h的范围是:270.0--306.0,超出的自动舍去。
m=acos((b^2+h^2-a^2)/(2*h*b)),
n=acos((a^2+h^2-b^2)/(2*h*a)),
p=tan(m)的平方/tan(n)的平方;
根据h的值由范围的最小值+0.1梯增,直到最大值。
找出P的最大值,和此时的h值。
请大侠求助。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-2-25 13:07:44 | 显示全部楼层
没测试,仅供参考

  1. #include <stdio.h>
  2. #include <math.h>

  3. float m(float h)  //求得m的值
  4. {
  5.         float a,b;
  6.         a = 18.0;
  7.         b = 270.0;
  8.         return acos( (b*b - a*a + h*h) / (2*h*b));
  9. }

  10. float n(float h)    //求得n的值
  11. {
  12.         float a,b;
  13.         a = 18.0;
  14.         b = 270.0;
  15.         return acos((a*a - b*b + h*h)/ (2*h*a) );
  16. }

  17. float p(float h)     //求得p值
  18. {
  19.         return pow(tan(m(h))/tan(n(h)),2);
  20. }

  21. float calc(int floor,int up)  //从下限到上限寻找最大值
  22. {
  23.         float i,max,maxh;

  24.         i = floor;
  25.         max = p(i);
  26.         maxh = floor;

  27.         for(i = floor+0.1;i<up;i+=0.1){
  28.                 if(p(i)>max){
  29.                         max = p(i);
  30.                         maxh = i;
  31.                 }
  32.         }
  33.         printf("%f\n%f",max,maxh);
  34. }

  35. int main()
  36. {
  37.         int up,floor;
  38.         scanf("%f %f",&floor,&up);

  39. //舍弃不符合要求的范围
  40.         if(floor<270.0){
  41.                 floor = 270.0;
  42.         }
  43.         if(up>306.0){
  44.                 up = 306;
  45.         }

  46.         calc(floor,up);
  47.         return 0;
  48. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-2-25 13:19:24 | 显示全部楼层

谢谢你了。。。崇拜
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-2-25 13:23:44 From FishC Mobile | 显示全部楼层
simon896 发表于 2015-2-25 13:19
谢谢你了。。。崇拜

小兄弟,要勤于练习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-2-25 16:40:05 | 显示全部楼层
百日维新 发表于 2015-2-25 13:23
小兄弟,要勤于练习

是啊,谢谢了。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-2 20:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表