解题思路以及注意事项:

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

茶花女 10月前 回复TA
妈的不用看了,这个oj有问题,一样的方法c++都可以过c就不行,我试了一个小时了,c。我也是服了
秋可知 11月前 回复TA
@逆浪长歌 如果是VS编译器的话,要在scanf后面加"_s", scanf_s
jdaizwj 1年前 回复TA
@qwb if后面不跟;
dotcpp0709834 1年前 回复TA
@何秋贤 在平台运行时头文件不能大写
dotcpp0709834 1年前 回复TA
@何秋贤 在平台运行时头文件不能大写
何秋贤 1年前 回复TA
#include<Stdio.h>
int main()
{
	int x,y;
	scanf("%d",&x);
	if(x<1){
		y=x;
		printf("%d",y);	
	}
	if(1<=x&&x<10){
		y=2*x-1;
		printf("%d",y);
	}
	if(x>=10){
		y=3*x-11;
		printf("%d",y);
	}
}哪里错了
何秋贤 1年前 回复TA
@uq_81645443437 #include<Stdio.h> int main() { 	int x,y; 	scanf("%d",&x); 	if(x<1){ 		y=x; 		printf("%d",y);	 	} 	if(1<=x&&x<10){ 		y=2*x-1; 		printf("%d",y); 	} 	if(x>=10){ 		y=3*x-11; 		printf("%d",y); 	} }
dotcpp0701235 1年前 回复TA
@qwb if 不需要“ ”
qwb 1年前 回复TA
#include <stdio.h>
int main()
{
    int x,y;
    printf ("请输入x的值:");
   scanf("%d",&x);
    if(x<1);
    {
         y=x;

    }

    else if("x<10&&x>=1")
        {
         y=x*2-1;
         }

    else if("x>=10")
    {
         y=3*x-11;
    }
printf("%d",y);
    return 0;
}
大佬看看哪里有错
Yolo 1年前 回复TA
@JacksonXu 条件语句是跟在 if 后面的,去掉 (x>=10) 或者在 (x>=10) 前面加if即可,建议直接去掉,三种情况已经判断两个,最后一个else所表达的即是剩下的最后一种情况。