[英]C program running an extra loop
编写一个程序,指向给定 function 的值表。 x 的初始值随着步骤 d 变化,直到 y 的值(即 x 的 function)变得大于一个数字 c
我一直试图解决这个任务一段时间,但我总是遇到同样的问题。 该程序总是给我带来更多价值。 见代码。 提前致谢。
#include <stdio.h>
#include <math.h>
main(){
float x,d,y=0;
float c;
printf("Write begin and end of interval: ");
scanf("%f%f",&x,&c);
printf("Write step d: ");
scanf("%f",&d);
printf("x y\n");
while (c>y){
y=pow(x,2)+(1/sqrt(x+1));
printf("%.2f %.2f\n",x,y);
x+=d;
}
}
这就是程序所做的
Write begin and end of interval: 1 5
Write step d: 0.5
x y
1.00 1.71
1.50 2.88
2.00 4.58
2.50 6.78 -------> this is undesired because y>c
数学表达式
只需添加一个if
语句,在计算后检查 y。 请注意,如果您不希望y=c
也不被打印,则必须将其更改为c<=y
。
#include <stdio.h>
#include <math.h>
int main(){
float x,d,y=0;
float c;
printf("Write begin and end of interval: ");
scanf("%f%f",&x,&c);
printf("Write step d: ");
scanf("%f",&d);
printf("x y\n");
while (c>y){
y=pow(x,2)+(1/sqrt(x+1));
if(c<y){
break;
}
printf("%.2f %.2f\n",x,y);
x+=d;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.