• “中国象棋将帅问题”——自己的解法


    “中国象棋将帅问题”这一小节中,最后给出这样一段代码——
    struct
    {
        unsigned 
    char a:4;
        unsigned 
    char b:4;
    }i;

    for(i.a=1;i.a<=9;i.a++)
        
    for(i.b=1;i.b<=9;i.b++)
            
    if(i.a%3!=i.b%3)
                printf(
    "A=%d,B=%d\n",i.a,i.b);

    自己觉得这段代码用结构体封装了两个变量,这样做只能算是小聪明。不过,自己从这种做法中得到启发,可以用一个int变量的十位和个位来“封装”两个变量,具体的代码实现如下——

    for(int i=1;i<90;i+=10)
    {
        i
    =i-i%10;    //初始化个位上的数
        for(;i%10<9;i++)
        
    {
            
    if(i/10%3!=i%10%3)
                printf(
    "A=%d,B=%d\n",i/10+1,i%10);
        }

    }

    不过,这种做法和文中给出的一段代码有点相似了

    BYTE i=81;
    while(i--)
    {
        
    if(i/9%3==i%9%3)
            
    continue;
        printf(
    "A=%d,B=%d\n",i/9+1,i%9+1);
    }
  • 相关阅读:
    2019.1.10英语笔记
    2019.1.9专业课笔记
    团队触发器
    团队脚本备份
    导表
    oslo.config
    nginx启动、重启、关闭
    常见的awk内建变量
    LVM
    Django, one-to-many, many-to-many
  • 原文地址:https://www.cnblogs.com/xiangism/p/1574294.html
Copyright © 2020-2023  润新知