在c语言中,=表示的是赋值语句,表示把右边的值赋值给左边的变量,所以您if语句中是每次把5赋值给变量i,那么这是个永远成立的条件,所以程序会陷入死循环。
只需要改成i==5即可。c语言中两个等号才表示判断左右两边的值是不是相等,若是就继续运行,若不是那么条件不成立,就结束循环。
完全可以在if语句中赋值的。
#include<stdio.h>int main()
{double p,w,s,f,d
scanf("%lf %lf %lf",&p,&w,&s)
if(s>=0&&s<250)d=0
else if(s>=250&&s<500)d=0.02
else if(s>=500&&s<1000)d=0.05
else if(s>=1000&&s<2000)d=0.08
else if(s>=2000&&s<3000)d=0.1
else d=0.15
printf("d=%lf\n",d)
f=p*w*s*(1-d)
printf("%.2f\n",f)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)