解题思路以及注意事项:
本题主要是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分
168 人评分
int x; scanf("%d",&x); if(x<1) {printf("y=%d",x);} else if((1<=x)&&(x<10)) {printf("y=%d",2*x-1);} else {printf("y=%d",3*x-11);} return 0; 为什么显示答案错误 是因为没有用y来定义答案吗
#include<stdio.h> int main() { int x; int y; scanf("%d", &x); ; if(x < 1) { y = x; } else if (x >= 1 && x < 10) { y = 2*x -1; } else(x >= 10); { y = 3 * x - 11; } printf("%d", y); return 0; } 这个哪里错了求大佬看看
为什么不能用float类型
#include<stdio.h> int main() { double x; int y; scanf("%lf",&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; }
为什么是int型 不可以是float型吗?
#include<stdio.h> int main() { int x, y; scanf("%d",&x); if(x<1) { y = x; } if(x >= 1 && x < 10) y = 2*x - 1; else y = 3*x - 11; printf("%d", y); return 0; } 这个错50%是什么意思
XWBDSG 2019-08-03 19:24:27 |
if(x >= 1 && x < 10) 这句应该是 else if(x >= 1 && x < 10)吧
#include<stdio.h> int main() { int x,y; scanf("%d",&x); if(x<1){ y=x; printf("%d\n",y); }else if(1<=x && x<10){ y = 2*x-1; printf("%d\n",y); }else{ y = 3*x-11; printf("%d\n",y); } return 0; } 这个题啊,用int类型定义变量就可以通过,用double类型定义变量的话编译运行是没问题的,但是提交就会出现答案错误,这个题目出的有问题,没有说明不能有小数。
飞翔的小海鸥 2019-11-15 11:20:54 |
你好像没有定义y
百素儿 2019-11-21 21:58:29 |
@2733427875 y不只是一个打印值吗?
有多少的四年 2019-12-24 12:25:54 |
输出格式错了
有多少的四年 2019-12-24 12:26:47 |
只要把三个“y=%d”改成“%d”就可以了