3 流程控制 10.5

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



一、判断语句练习


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>

int main() {
    int data1;
    int data2;
    int max;
    puts("请输入两个数字");
    scanf("%d %d", &data1, &data2);  这个占位符不能用"%d,%d"  可以用空格隔开也不能用,隔开  占位符读取定义
    if (data1 > data2)
    {
        printf("大数为%d ,小数为%d", data1, data2);
    }
    else {
        max = data2;
        data2 = data1;
        data1 = max;
        printf("大数为%d ,小数为%d", data1, data2);
    }

    system("pause");

    return 0;

}

```c
三个数交换如何实现?
```c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
int main() {
    int data1;
    int data2;
    int data3;
    int max;
    int min;
    puts("请输入三个数字");
    scanf("%d%d%d", &data1, &data2,&data3);
   max = data1  < data2 ? data2 : data1; // 假设数据1最大 并且与2相比
    if (max ==data2)//  2比1大
    {         max =data2< data3 ? data3 : data2; 
        if (max == data3)//3最大 1最小 
            {           
                printf("大数为%d中数为 %d小数为%d", max, data2, data1);
            }
       else
            {//  相当于max=data2比data3大 且还大于data1
                if (data1 > data3)
                    printf("大数为%d 中数为 %d小数为%d", max, data1, data3);
                if (data1 < data3 && data3 < max)
                    printf("大数为%d 中数为 %d小数为%d", max, data3, data1);            
            }        
    }
    else {//即1与2比较中 1还是最大
          min=data2 <data3 ? data2 : data3;
          if (min ==data2&&max>data3)
              printf("大数为%d中数为 %d小数为%d", max, data3,min);
          else if(min == data2 && max < data3)
              printf("大数为%d中数为 %d小数为%d", data3,max, min);
          else 
              printf("大数为%d中数为 %d小数为%d",max,data2,min);
    }
    system("pause");
    return 0;
}

二、逻辑代码

1.引入库

在这里插入图片描述


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>

int main() {
    int HealthyYesorNot;
    int MoneyYesorNot;
    int DaFang;
    puts("tips:接下来问题都用1表示是 0表示否 感谢!!!\n");
    puts("你是否身体好\n");
    scanf("%d", &HealthyYesorNot);
    if (HealthyYesorNot==1)
    {
        puts("你是否有钱\n");
     scanf("%d", &MoneyYesorNot);
        if (MoneyYesorNot==1) {
            puts("是不是愿意给我花\n");
            scanf("%d", &DaFang);
            if (DaFang==1) {
                puts("亲亲\n");
            }
            else {
                puts("小气鬼没法聊\n");
            }
        }
        else {
          puts("没钱就滚蛋\n");
        }

    }
    else
    {
   puts("身体不好不适合做朋友\n");
    }
    system("pause");

    return 0;

}

2.swich多分枝

:逻辑性较好 更容易判断

 比较容易 跳过了   
 只需注意形式即可

在这里插入图片描述

练习题1


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>

int main() {
    int x;
    int y;
    puts("请输入x的值");
    scanf("%d",&x);
    if (x < 1) 
    {
        y = x;
        printf("y的值为%d\n",y);
    }
    else if (x>=1&&x<10) {
        y = 2*x - 1;
        printf("y的值为%d\n",y);
    }
    else if (x >= 10) {
        y = 3 * x - 11;
        printf("y的值为%d\n",y);
    }
    return 0;

}

练习题2

在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

int main() {
   
    int Grade=0;
    printf("请输入您的成绩\n");
    scanf("%d", &Grade);
    Grade = Grade / 10;
    switch (Grade) 
    {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        puts("您的成绩为E\n不及格");
        break;
    case 6:
        puts("您的成绩为D\n");
        break;
    case 7:
        puts("您的成绩为C\n");
        break; 
    case 8:
        puts("您的成绩为B\n");
        break;
    case 9:
        puts("您的成绩为A\n");
        break;
    default:
        puts("成绩输入非法,请重新输入");
            break;
    }
    return 0;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值