解题思路以及注意事项:

  1. 本题主要是if语句的应用,本题有两次判断,if()里面一次,else if()里面一次,最后的else不用加括号判断,因为前面的都不执行,就执行else后面的语句了。

  2. 注意else后面不能加分号,不然会报错,注意if()和else if()后面不能加”;“。

  3. 注意1<=x<10的问题,好多新手都这样写,这在c里面是比较低级的错误,应该这样写   1<=x&&x<10

实例代码:

#include"stdio.h"
int main(){
    int x,y;
    scanf("%d",&x);
    if(x<1){
        y=x;
    }
    else if(1<=x&&x<10){
        y=2*x-1;
    }
    else{
        y=3*x-11;
    }
printf("%d",y);
    return 0;
}

有什么不懂得可以在下方评论区评论

点赞(53)
 

0.0分

120 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 253 条评论

sc 3年前 回复TA
#include<stdio.h>
int main()
{
    int x,y;
    scanf("%d",&x);
    if (x<1)
    {
        y=x;
        printf("%d",y);
    }
    if (x>=10)
    {
        y=3*x-11;
        printf("%d",y);
    }
    else
    {
        y=2*x-1;
        printf("%d",y);
    }
    return 0;
}
脑壳炸了,淦,哪个环节出问题了?
大魔王 3年前 回复TA
@1015291114 @1015291114 它的答案设定的太死板了,题目并没说X是整型吧,为什么不用double
1015291114 3年前 回复TA
@1015291114 我又试了一下,原因是第三个那个公式后面是-11而不是-1,写错了;第二点原因好像是不能用double,要用int,改成了int以后就通过了[笑哭]
码代码码代码 3年前 回复TA
@1015291114 最后那个else应该是else if后面的,不可以对齐写,如果不加花括号一定要注意位置
1015291114 3年前 回复TA
为什么答案是错的
#include<stdio.h>
int main()
{
    double x,y;
    scanf("%lf",&x);
    if(x<1)
    y=x;
    else if(1<=x&&x<10)
    y=2*x-1;
    else
    y=3*x-1;
    printf("%.2lf",y);
    return 0;
}
1015291114 3年前 回复TA
我运行起来好像没有错啊
霸气江江 3年前 回复TA
@uq_16461827833 把那个y=也输出上了 题目只要求输出值
霸气江江 3年前 回复TA
@10年小白 把那个y=也输出上了  题目只要求输出值
30s 3年前 回复TA
@10年小白 变量未声明
10年小白 3年前 回复TA
#include<stdio.h>
int main()
{
    float x,y;
   scanf("%f",&x);
   if(x<1.0){
       printf("y=%f",x);
   }else if(x>=1 && x<10){
       printf("y=%f",2*x-1);
   }else
   {
       printf("y=%f",3*x-11);
   }
    return 0;
}
哪错了呢???