#include<stdio.h>
#include<math.h>
int main(){
double f,n,xm,sum=0;
const double PI = 3.14159;
printf("Enter the Value of 'f'(CM) : ");
scanf("%lf",&f);
for (double i = 1; i < 8; i++)
{
printf("\nEnter the Value of 2Xm(cm) : ");
scanf("%lf",&n);
xm = (n/2);
printf("%lf",i);
double theta = atan(xm/f);
double theta_m = theta * ( 180.0 / PI );
double sine_theta = sin(theta);
double lambda = (0.0000508*sine_theta)/(i);
printf("\nXm : %.2lf",xm);
printf("\nTheta : %.4lf",theta_m);
printf("\nSine Theta(m) : %.4lf",sine_theta);
printf("\nlambda : %.4lf",lambda);
printf("");
sum+=lambda;
}
return 0;
}
字符串
使用这些值:
- f = 85
- xm = 2.2、4.4、6.7或9
对于“f = 2.2”,lambda值应该在6.5532e-07左右,对于6.7 = 6.6717333333333e-07,依此类推。
但每次都显示0。
1条答案
按热度按时间5jvtdoz21#
只需增加双变量lambda的printf精度。
字符串
使用低于6的精度只会显示零,因为在你的例子中lambda <1 e-6。