解题思路以及注意事项:
本题主要是if语句的应用,本题有两次判断,if()里面一次,else if()里面一次,最后的else不用加括号判断,因为前面的都不执行,就执行else后面的语句了。
注意else后面不能加分号,不然会报错,注意if()和else if()后面不能加”;“。
注意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; }
有什么不懂得可以在下方评论区评论
0.0分
165 人评分
#include<Stdio.h> int main() { double x, y; scanf_s("%lf", &x); if (x < 1) y = x; else if (x >= 10) y = 3 * x - 11; else y = 2 * x - 1; printf("%.2lf", y); return 0; } 这个为啥显示编译错误啊大佬们,答案也没提示,直接空白的
#include<stdio.h> int main() { int x; int y; scanf("%d",&x); if (x<1) { y=x } else if (1<=x&&x<10) { y=2*x-1 } else(x>=10) { y=3*x-11 } printf("%d",y); return 0; } 这个为什么报错啊,求大哥看看
#include<stdio.h> int main() { int x, y; scanf("%d", &x); if (x < 1) { y = x; } if (1 <= x < 10) { y = 2 * x - 1; } if ( x >= 10) { y = 3 * x - 11; } printf("%d", y); return 0; } 是真的烦,这是怎么不能通过的啊
nanami 2022-09-03 21:51:24 |
1 <= x < 10要改成1<=x&&x<10就能通过了
Leon 2022-09-26 19:53:01 |
第2条if用&&
H2230819074 2022-10-14 14:15:53 |
应该是那三个if有问题
dotcpp0609017 2022-10-15 01:37:39 |
x<10&&x>=1
Joker 2022-10-19 10:23:36 |
条件判断不能像手写那样的形式,需要结合逻辑运算符一起使用
huaiidtu 2022-10-19 16:10:09 |
要用逻辑运算符1<=x&&x<10
李涛 2022-10-24 12:01:56 |
第二个if括号里面改成1<=x&&x<10就行了
#include <stdio.h> int main() { int x,y; scanf("%d",&x); switch(x<1) { case 1:y=x;break; case 0: switch(x<10) { case 1:y=2*x-1;break; case 0:y=3*x-1; } } printf("%d",y); return 0; } 不知道为啥答案错误, 之前我用if else整了个带小数的版本也不让我过。
KanoMirai 2022-10-11 09:15:22 |
3x-11不是3x-1
H2230819074 2022-10-14 14:16:28 |
3*x-11
dotcpp0609955 2022-10-14 21:07:37 |
带小数需要用到浮点数类型吧
关 2022-12-03 21:40:32 |
switch只能判断整形
#include <stdio.h> int main() { int x , y; printf("请输入x的值:"); scanf("%d", &x); if(x<1) { printf("%d",x); }else if(1<=x<10) { y=2.0*x-1; printf("%d",y); }else if(x>=10) { y = 3.0*x-11; printf("%d",y); } return 0; }
十一 2023-06-02 16:45:54 |
#include<stdio.h> int main() { int x,y; scanf("%d",x); if(x<1) y=x; else { if(1<=x<10) y=2*x-1; else y=3*x-10; } printf("%d ",y); return 0; }这个哪里错了
#include <stdio.h> int main(){ int x,y; printf("请输入一个数字:\n"); scanf("%d",&x); if(x<0) printf("x=%d\ny=%d\n",x,x); else if(x>=1 && x<10) printf("x=%d\ny=%d\n",x,2*x-1); else printf("x=%d\ny=%d\n",x,3*x-11); return 0; } 其实这样也可以
H2230819074 2022-10-14 14:18:24 |
第一个f那里好像是x<1,不是x<0
Joker 2022-10-19 10:25:29 |
你自己怕是只晓得写,不知道跑一下哦
#include<stdio.h> int main() { int x,y,z,a,b,c; scanf("%d",&x); if(x<1) z=a; else if(x>=1&&x<10) z=b; else z=c; switch(z) { case'a': y=x; printf("%d\n",y);break; case'b': y=2*x-1; printf("%d\n",y);break; default: y=3*x-11; printf("%d\n",y);break; } return 0; } 为啥这个也50%。。。
#include <stdio.h> int main(){ int x,y; scanf("%d", &x); y=x<1?x:(x<10?2*x-1:3*x-11); // 三目表达式 表达1?表达2:表达3 printf("%d", y); return 0; }
流浪到岁月枯黄 2022-10-06 22:37:40 |
#include<stdio.h> int main() { int a; while(~scanf("%d",&a))printf("%c ",a>=90?'A':(a>79?'B':(a>69?'C':(a>59?'D':'E')))); return 0; } //这样也行
H2230819074 2022-10-14 14:20:07 |
哇,这个可以,我都没想到
H2230819074 2022-10-14 14:21:45 |
刚刚试了一下,可以
柚苏果果 2022-11-22 17:52:20 |
这个好厉害
adila 2022-11-27 18:04:03 |
牛
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:821 |
【绝对值排序】 (C++代码)(利用两个库函数——abs()求绝对值 和 sort()快排)浏览:1415 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1062 |
简单编码 (C++代码)浏览:675 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1509 |
时间转换 (Java代码)浏览:572 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5214 |
三角形 (C++代码)递推浏览:755 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2085 |
有关字符,字符串的输入输出函数说明浏览:476 |
榴莲酥 2023-02-23 21:37:40 |
stdio.h
熊某软硬不吃 2023-05-27 16:49:23 |
你if加条件之后应该是{执行的公式}