解题思路以及注意事项:
本题主要是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 人评分
#include<stdio.h> int main() { int x,y; scanf("%d",&x); if(x<1) y=x; else x=x; if(x>=10) y=3*x-11; else y=2*x-1; printf("%d\n",y); return 0; } 这样为什么不可以,(else x=x)行得通吗?
#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-11); printf("%d",y); return 0; } 为什么运行不了else??
Fiora 2020-02-21 15:25:16 |
1<=x<10是什么鬼?你以为做数学呢,中间加个&&,1<=x&&x<10
为什么不用switch呢,都用if
#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; if(x>=10) y=3*x-11; printf("%d\n",y); return 0; } 三个if
#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 if (x >= 10 ) { y = (3 * x - 11); } printf("%d/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-1; } else { y=2*x-1; } printf("%d",y); return 0; } 哪位大神帮忙看看 答案错误50%
Chuanchuan 2019-12-13 12:03:25 |
12行y=x*3-11
软一BYH 2019-12-14 20:10:08 |
#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 if (x >= 10 ) { y = (3 * x - 11); } printf("%d/n", y); return 0; }
软一BYH 2019-12-14 20:10:33 |
我这都错误
#include <stdio.h> int main () { int short 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; } - 输出大小: 128.1015625 KiB - 编译时间: 0.30s 怎么缩减输出大小,我的好像超了
干枯骆驼 2019-12-01 22:30:24 |
打错了,多写了个short
柠稔- 2020-03-26 19:16:16 |
语法上没问题,但是你的printf输出的是Y不是X啊!