回 帖 发 新 帖 刷新版面

主题:求助if...if

[code=c]
请填写代码
[/code]
#include <stdio.h>
void main(){
    int x;
    double y,z,p;
    printf("input the number of the people\n");
    scanf("%d",&x);
scanf("%lf",&y);
    z = (y-3.5*x)/(3.5*x);
/*    if(z<=0)
        p = y*3.7;
else     if(z<=0.2)
        p = 3.5*x*3.7+3.7*2*(y-3.5*x);
    else if(z<=0.4)
        p =3.5*x*3.7+3.7*2*3.5*x*0.2+3.7*3*(y-3.5*x*(1+0.2));
else
        p =3.5*x*3.7+3.7*2*3.5*x*0.2+3.7*3*0.2*3.5*x+3.7*4*(y-3.5*x*(1+0.4));
        */

         if(z<=0)
        p = y*3.7;
     if(0<z<=0.2)
        p = 3.5*x*3.7+3.7*2*(y-3.5*x);
     if(0.2<z<=0.4)
        p =3.5*x*3.7+3.7*2*3.5*x*0.2+3.7*3*(y-3.5*x*(1+0.2));
if(z>0.4)
        p =3.5*x*3.7+3.7*2*3.5*x*0.2+3.7*3*0.2*3.5*x+3.7*4*(y-3.5*x*(1+0.4));
    /*if(z<=0)
        p = y*3.7;
     if(0<z&&z<=0.2)
        p = 3.5*x*3.7+3.7*2*(y-3.5*x);
     if(0.2<z&&z<=0.4)
        p =3.5*x*3.7+3.7*2*3.5*x*0.2+3.7*3*(y-3.5*x*(1+0.2));
if(z>0.4)
        p =3.5*x*3.7+3.7*2*3.5*x*0.2+3.7*3*0.2*3.5*x+3.7*4*(y-3.5*x*(1+0.4));*/

printf("is %lf\n",p);
}
其中if(0<z&&z<=0.2)与if(0<z<=0.2)有什么不同?

回复列表 (共4个回复)

沙发

没有不同,但是程序只认识if(0<z&&z<=0.2)这种形式

板凳

if(0<z<=0.2)是错误的,不能这样写的,必须写成
if(0<z&&z<=0.2) 或者
if(0<z&&0.2>=z) 或者
if(z>0&&z<=0.2) 等等

3 楼

代码格式规范点,程序员基本要求。
VC++按ALT+F8可对齐

4 楼

明白了,呵呵,谢谢大家

我来回复

您尚未登录,请登录后再回复。点此登录或注册