阔以看看我这个if-else嵌套这么改不 运行不出答案

img


多个嵌套有点乱 不规范的话 指点一下 希望一个给个参考模板 我对这自正一下 谢谢

参考如下:

while (scanf("%d", &number)) {
  if (number <= 50) {
    cost = 0;
  } else if (50 < number && number <= 100) {
    cost = 0.15;
  } else if (100 < number && number <= 300) {
    cost = 0.075;
  } else if (300 < number && number <= 500) {
    cost = 0.1;
  }  else {
    cost = 0.15;
  }

  int i = cost * number;
  printf("费用为%d", i);
}

。。。这个代码看的我啊,你不如详细说下你的需求

第一个else直接使用else if >300, 这个就表示 大于300小于等于500的区间,后边依次使用 else if不就好了么,为什么要在if里边再写if else呢

img

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7499094
  • 这篇博客你也可以参考下:当一个程序需要两个以上的if语句时使用else if语句
  • 除此之外, 这篇博客: 选择语句--选择一个正确的它中的 if语句的语法结构 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 写法一:

    if(表达式)//表达式结果为真,语句执行,否则不执行
        语句;
    

    代码实例:

    #include <stdio.h>
    int main()
    {
    	int age = 10;
    	if (age >= 18)//结果为假,语句不执行
    		printf("成年");
        return 0}//所以打印结果为空
    

    写法二:

    if(表达式)//如果表达式为真,语句1执行,否则语句1被执行
        语句1;
    else
        语句2;
    

    代码实例

    #include <stdio.h>
    int main()
    {
    	int age = 10;
    	if (age >= 18)//语句为假,执行语句2
    		printf("成年");
    	else
    		printf("未成年");//语句2为未成年,所以打印的结果为未成年
        return 0}
    

    写法三:

    //多分支
    if(表达式1)//如果表达式1位真,语句1执行,否则看表达式2,表达式2为真,则语句2执行,否则语句3执行
        语句1;
    else if(表达式2)
        语句2else
        语句3;
    

    代码实例

    #include <stdio.h>
    int main()
    {
    	int age = 20;
    	if (age >18)//表达式1为真
    		printf("成年\n");//打印结果为成年
    	else if(age = 18)
    		printf("刚刚成年");
    	else
    		printf("未成年\n");
        return 0;
    }
    


  • 您还可以看一下 张云波老师的零基础也能学以太坊开发课程中的 控制结构if-else语句小节, 巩固相关知识点