问题 AH: 四大湖 上地理课时,四个学生回答我国四大湖面积大小时分别说:甲:洞庭最大,洪泽最小,鄱阳第三

问题 AH: 四大湖

时间限制: 1.000 Sec  内存限制: 128 MB

题目描述

上地理课时,四个学生回答我国四大湖面积大小时分别说:
甲:洞庭最大,洪泽最小,鄱阳第三
乙:洪泽最大,洞庭最小,鄱阳第二,太湖第三
丙:洪泽最小,洞庭第三
丁:鄱阳最大,太湖最小,洪泽第二,洞庭第三
对于每个湖的大小,每个人仅答对一个,试判断四个湖的大小。

输入

输出

按照洞庭湖,洪泽湖,鄱阳湖和太湖的顺序输出每个湖的排名(如1,4,3,2)

分析和AC代码

/**
 * Created py Liu Xianmeng On 2022/12/29
 */
#include <bits/stdc++.h>
using namespace std;
int main() {
    /**
     * 四大湖 d h p t 的排名按照4x4=16种情况 进行遍历
     * 当然 最终的结果肯定是四个排名各不一样(加上此条件进行验证即可)
     */
     int d, h, p, t;
     for(d=1; d<=4; ++d){
         for(h=1; h<=4; ++h){
             for(p=1; p<=4; ++p){
                 for(t=1; t<=4; ++t){
                     if( // 如果每个人只说对一个湖的排名 则条件满足
                             ((t==1)+(h==4)+(p==3)==1) &&
                                     ((h==1)+(d==4)+(p==2)+(t==3)==1) &&
                                     ((h==4)+(d==3)==1) &&
                                     ((p==1)+(t==4)+(h==2)+(d==3)==1) &&
                                     // 每个湖的排名都不一样
                                     (d!=h && d!=p && d!=t && h!=p && h!= t && p!=t)
                             ){
                         printf("%d,%d,%d,%d\n", d,h,p,t);
                         return 0;
                     }
                 }
             }
         }
     }
     /*
      * 【答案】
      *  2,4,1,3
      */
    return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 AH=2H: ``` MOV AH, 2H ; 将 2H 存入 AH 寄存器 MOV DL, 'G' ; 将 G 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'O' ; 将 O 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'O' ; 将 O 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'D' ; 将 D 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, ' ' ; 将空格存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'M' ; 将 M 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'O' ; 将 O 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'R' ; 将 R 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'N' ; 将 N 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'I' ; 将 I 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'N' ; 将 N 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 MOV DL, 'G' ; 将 G 存入 DL 寄存器 INT 21H ; 调用 21H 中断,将 DL 中的字符输出到屏幕上 ``` 使用 AH=9H: ``` MOV AH, 9H ; 将 9H 存入 AH 寄存器 MOV DX, OFFSET MSG ; 将 MSG 的地址存入 DX 寄存器 INT 21H ; 调用 21H 中断,将 MSG 中的字符串输出到屏幕上 MSG DB 'GOOD MORNING$' ; 定义字符串 MSG,并以 $ 结尾 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值