解题思路以及注意事项:
本题主要是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分
179 人评分
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", y ); return 0; 哪里错了
#include<stdio.h> int main() { int x,y; scanf("%d",&x); if(x < 1) { y = x; } else if(x < 10) { y = 2 * x -1; } else { y = 3 * x - 11; } printf("%d\n",y); return 0; }
#include<stdio.h> int main() { int x,y; scanf("%d",&x); if(x<1) { printf("y=%d",x); } if(x<10 && x>=1) { printf("y=%d",2*x-1); } if(x>=10) { printf("y=%d",3*x-11); } return 0; }
#include<stdio.h> int main() { int x,y; scanf("%d",&x); if(x<1) { printf("y=%d",x); } if(x<10 && x>1) { printf("y=%d",2*x-1); } if(x>=10) { printf("y=%d",3*x-11); } return 0; }
这个如果是,x<1放在最前面、按照分段函数的出现顺序进行if的话,当你输入“14”时,答案就不会是“31“,而是”27“。而当你将最后一个分段函数条件放在scanf后,答案就会是正确的
#include<stdio.h> int main() { int a,y; scanf("%d",&a); if(a>=10) { y = 3*a - 11; } else if(a>=1) { y = 2*a - 1; } else if(a<1) { y = a; } printf("%d",y); return 0; }
#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); } }哪里错了
dotcpp0709834 2023-11-19 14:36:10 |
在平台运行时头文件不能大写
dotcpp0709834 2023-11-19 14:36:33 |
在平台运行时头文件不能大写
玉兔捣药 2024-10-23 20:05:28 |
没有花括号{}