C语言镜头焦距程序


给定两个浮点值;图像距离和物体距离透镜;任务是打印透镜的焦距。

什么是焦距?

光学系统的焦距是指透镜或曲面镜的中心与其焦点之间的距离。

让我们借助下图来理解:

在上图中,i 是物体,F 是形成的物体的像,f 是像的焦距。

因此,要根据透镜找到像的焦距,公式为:

1F= 1O+1I

其中,F 是焦距。

O 是透镜和物体之间的总距离。

I 是透镜和透镜形成的像之间的总距离。

示例

Input: image_distance=5, object_distance=10
Output: Focal length of a lens is: 3.333333
Explanation: 1/5 + 1/10 = 3/10🡺 F = 10/3 = 3.33333333

Input: image_distance = 7, object_distance = 10
Output: Focal length of a lens is: 4.1176470

我们用来解决上述问题的方案

  • 获取image_disance和object_distance的输入。
  • 找到1/image_distance和1/object_distance的和,并返回结果除以1的结果。
  • 打印结果。

算法

Start
Step 1-> In function float focal_length(float image_distance, float object_distance)
   Return 1 / ((1 / image_distance) + (1 / object_distance))

Step 2-> In function int main()
   Declare and initialize the first input image_distance = 5
   Declare and initialize the second input object_distance = 10
   Print the results obtained from calling the function focal_length(image_distance, object_distance)
Stop

示例

 现场演示

#include <stdio.h>
// Function to find the focal length of a lens
float focal_length(float image_distance, float object_distance) {
   return 1 / ((1 / image_distance) + (1 / object_distance));
}
// main function
int main() {
   // distance between the lens and the image
   float image_distance = 5;
   // distance between the lens and the object
   float object_distance = 10;
   printf("Focal length of a lens is: %f
", focal_length(image_distance, object_distance));    return 0; }

输出

Focal length of a lens is: 3.333333

更新于: 2019年12月20日

326 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告