if判断语句

来源:互联网 发布:遥感数据销售 编辑:程序博客网 时间:2024/05/21 13:48

纪念我们来介绍新的知识“if与else语句”
我们先来看一道例题
01:判断数正负. 原题出处
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个整数N,判断其正负。

输入
一个整数N(-109 <= N <= 109)
输出
如果N > 0, 输出positive;
如果N = 0, 输出zero;
如果N < 0, 输出negative;
样例输入
1
样例输出
positive

分析:
这道题用普通人脑的逻辑判断就可以搞定,如何用编程语言判断呢?
按以往惯例我们用 scanf(cin)先读入一个数”a”
接下来要判断:
当(a>0)时 printf(cout)输出一个”positive”
当(a=0)时 printf(cout)输出一个”zero”
当(a<0)时 printf(cout)输出一个negative””
实践:
那我们该如何实现 当(a>0)时/当(a=0)时/当(a<0)时 的三种判断呢?
这就要设计一个新的编程“if”
如果你是英语好的人就知道if在英语中是如果的意思
那么我们的判断就可以变成:
如果(a>0)时 printf(cout)输出一个”positive”
如果(a=0)时 printf(cout)输出一个”zero”
如果(a<0)时 printf(cout)输出一个negative””

if(a>0) printf(cout)输出一个”positive”
if(a=0) printf(cout)输出一个”zero”
if(a<0) printf(cout)输出一个negative”“

如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。
流程图
代码如下

# include <cstdio>int main(){    int n;    scanf("%d",&n);    if(n>0)//判断"a"的范围    printf("positive");    if(n==0)//判断"a"的范围    printf("zero");    if(n<0)//判断"a"的范围    printf("negative");

那么else又是什么呢?
大家要记住“if”与“else”是一对可配套使用的的语句且他们所表述的意思是相反的
if—else又称为双分支结构
else
功能:
如果(条件表达式)的值为真,即条件成立,则执行语句一,执行完“语句一”后继续执行正if—else语句的后续语句;如果(条件表达式“的值为假,即条件不成立,那么跳过一语句,执行二语句。
大家来看一道同时拥有if 和else的题

答案代码如下

#include<cstdio>#include<cstring>#include<cmath>#include<iostream>using namespace std;int main(){    int a;    scanf("%d",&a);    if(a==1|| a==3||a==5)        printf("NO");    else        printf("YES");}

同理大家可看看下面几道题
一.基础题

1.
二.扩展题
2.

3.
4.
三.冲顶题
5.
6.
7.

答案代码

1,

#include<cstdio>#include<cmath>int main( ) {    long long a,b;scanf("%lld%lld",&a,&b);if (a>b)printf(">");if (a<b)printf("<");if (a==b)printf("=");return 0;}

2.

# include <cstdio>int main(){    int a;    scanf("%d",&a);    if(a/10>=1&&a/10<=9.9)        printf("1");        else        printf("0");}

3.

#include<cstdio>int main(){    int a;    scanf("%d",&a);    if(a%3==0&&a%5==0)    printf("YES");    else    printf("NO");}

4.

#include<cstdio>int main(){int n;scanf("%d",&n);if(n%3==0){if(n%5==0){if(n%7==0)printf("3 5 7");elseprintf("3 5");}else{if(n%7==0)printf("3 7");elseprintf("3");}}else{if(n%5==0){if(n%7==0)printf("5 7");elseprintf("5");}else{if(n%7==0)printf("7");elseprintf("n");}}}

5.

# include <cstdio>int main(){    int n,x,y;    scanf("%d%d%d",&n,&x,&y);    if(y>n*x)    printf("0");    else{    if(y%x==0)    printf("%d",n-y/x);    else    printf("%d",n-(y/x+1));}}

6.

#include<cstdio>int main(){    int a,b;    scanf("%d%d",&a,&b);    if(a<60&&b<60)    printf("0");    else        if(a>=60&&b>=60)    printf("0");    else    printf("1");}

7.

#include<cstdio>#include<cmath>using namespace std;int main(){double a,b,c,d,t;double x1,x2;scanf("%lf%lf%lf",&a,&b,&c);d=b*b-4*a*c;if (d>=0) t=sqrt(d); else t=sqrt(-d);x1=(-b+t)/(2*a);x2=(-b-t)/(2*a);if (d>0) printf("x1=%.5lf;x2=%.5lf\n",x1,x2); else if (d==0){ printf("x1=x2=%.5lf\n",x1);}else if (d<0){if (a>0){if (b!=0) {    printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n", (-b)/(2*a),t/(2*a),(-b)/(2*a),t/(2*a)); }else {    printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n", (b)/(2*a),t/(2*a),(b)/(2*a),t/(2*a));}}else{if (b!=0) {    printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n", (-b)/(2*a),-t/(2*a),(-b)/(2*a),-t/(2*a));}else {    printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n", (-b)/(2*a),-t/(2*a),(-b)/(2*a),-t/(2*a));}}return 0;}
原创粉丝点击