解题思路以及注意事项:
本题主要是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分
155 人评分
大哥们 这个也报错 为啥啊 #include<stdio.h> int main() { double x,y; printf("Enter x:\n"); scanf("%lf",&x); if(x<10) { if(x<1) y=x; else y=2*x-1; } else { y=3*x-11; } printf("y=%.2f\n",y); return 0; }
#include <stdio.h> int main() { int x,y; scanf("%d",&x); if(x<1) { y=x; } else if(x>=10) { y=3*x-11; } else { y=2*x-1; } printf("%d",y); return 0; } 这个哪里错了,运行可以,提交不过
#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; }这个哪里错了
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:499 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:645 |
川哥的吩咐 (C语言代码)浏览:596 |
前10名 (C语言代码)浏览:695 |
复数求和 (C语言代码)浏览:901 |
数列有序 (C语言代码)浏览:924 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:969 |
小O的图案 (C语言代码)浏览:887 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:964 |
山河岁月 2023-04-03 18:10:56 |
这后面printf()这里也是%lf