if语句哪里不对?为什么总是用0.82的折算?

img


img

我测试了半天,都是用了0.82的折算,也用了else if,仍然是0.82的折算,不理解,谢谢大家的帮助

只有if没有else,全部if都会执行,假如第一个满足条件,则后面的也满足条件,要想只运行其中一个,就需要用else if

除了第一个if,其他改成else if才行

# include <stdio.h>
# include <stdlib.h>
 int main(){
 int a , b , c ;
 double p ;
 scanf _ s ("% d % d % d ",& a ,& b ,& c );
 p = a * b * c;
 if ( b <500)
 printf ("%1f", p );
 else if ( b <1000)
 printf ("%1f";0.95* p ); 
 else if ( b <1500)
 printf ("%1f",0.92* p );
 else if ( b < 2500)
 printf ("%1f",0.9* p ); 
 else if( b >=2500)
 printf ("%1f”,0.88* p);
 system (" pause ");
 return 0;
}
# include <stdio.h>
# include <stdlib.h>
 int main(){
 int a , b , c ;
 double p ;
 scanf _ s ("% d % d % d ",& a ,& b ,& c );
 p = a * b * c;
 if ( b <500)
 printf ("%1f", p );
 else if ( b <1000)
 printf ("%1f";0.95* p ); 
 else if ( b <1500)
 printf ("%1f",0.92* p );
 else if ( b < 2500)
 printf ("%1f",0.9* p ); 
 else ( b >=2500)
 printf ("%1f”,0.88* p);
 system (" pause ");
 return 0;
}