解题思路以及注意事项:
本题主要是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; scanf("%d",&x); if(x<1) printf("%d",x); else if(x>=10) printf("%d",3*x-11); else printf("%d",2*x-1); } 为神魔这个错了
#include<stdio.h> int max(int x,int y) { return x>y?x:y; } int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d\n",max(max(a,b),c)); } 为神魔我这个也报错啊
#include<stdio.h> int main() { int x,y; scanf("%d",&x); if(x<1){ y=x; }esle if(1<=x&&x<10){ y=2*x-1; }else{ y=3*x-11; } printf("%d",y); return 0; } 感觉一模一样啊,为什么还是错的。。。
#include<stdio.h> int f(int); int main() { int x,y; printf("x="); scanf("%d",&x); y=f(x); printf("y=%d",y); return 0; } int f(int x){ int y; if(x<1) { y=x; } else if(x>=1&&x<=10) { y=2*x-1; } else { y=3*x-10; } return y; } 错在哪?
#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",y); return 0; } 为什么出错?
这里不应该用int的吧,题目上没说是整数,而且还有一个条件是x<1
初学者 2019-02-17 21:18:03 |
但是改用float结果又会错是怎么回事?
superding 2019-06-14 12:23:24 |
题设要求的函数范围,&&表示与逻辑