解题思路以及注意事项:

  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 条评论

暴vv 3年前 回复TA
@笑天悲 知道这样写1<=x<10不成立就行了
Apologize 3年前 回复TA
@荣朵朵 最后的y=,答案没有要求写y=,只要求数字
AkMoney 3年前 回复TA
@笑天悲 我刚开始也那样写了if(1<=x<10),可以运行,但是代值就会错啦!
AkMoney 3年前 回复TA
@笑天悲 1 <= x <= 10这个肯定是true 因为1 <= x 是0或者1 即(1<=x) <= 10这个肯定是成立的 if(1<=x&&x<=10) 就能判断x介于1到10了
笑天悲 3年前 回复TA
if(1<=x<10)与if(x >= 1 && x < 10)有什么区别
白胡子 3年前 回复TA
@AT 我把你这略微改了改,提交之后过了(*^▽^*)我就把“%f”改成了“%0.0f”,所以我猜,题目要的是整型不是浮点型
AT 3年前 回复TA
#include<stdio.h>
int main()
{
	float x,y;
	scanf("%f",&x);
	if(x < 1)
	{
	    y = x;
	    printf("%f",y);
	}
	else if(x >= 10)
	    {
	        y = 3 * x - 11;
	        printf("%f",y);
	    }
	else
	    {
	        y = 2 * x - 1;
	        printf("%f",y);   
	    }
    return 0;
}
请教一下哪里有问题???
小白1 4年前 回复TA
@黄某 稍微改一下就可以了
小白1 4年前 回复TA
@黄某 int fenduan(int a); int main() {      int x;     scanf("%d", &x);     printf("%d", fenduan(x));     return 0; } int fenduan(int a) {     int y;     if(a < 1)         y = a;     else if(1 <= a && a < 10)         y = 2*a - 1;     else         y = 3*a - 11;     return y; }
黄某 4年前 回复TA
//求大佬解答这样为啥错了
#include<stdio.h>
int main()
{
    int fenduan(int a);
    int x;
    scanf("%d", &x);
    printf("%d", fenduan(x));
    return 0;
}
int fenduan(int a)
{
    int y;
    if(a < 1)
        y = a;
    if(1 <= a && a < 10)
        y = 2*a - 1;
    else
        y = 3*a - 11;
    return y;
}