【C语言学习笔记】打印九九乘法表,要求只用一个变量(位运算)

题目:打印九九乘法表,要求只用一个变量


解法:


/*将一个变量分为两部分,高四位与低四位。则相当于两个变量的效果,再利用双重循环即可*/
#include<stdio.h>
#include<stdlib.h>

int main(){
    int a;

    for (a = 0x10 ; a <= 0x90 ; a += 0x10 ) {
        for(a += (a>>4) ; (a&0x0f) <= 0x09 ; a++) {
            printf("%d*%d=%d\t ", a>>4, a&0xf, (a>>4)*(a&0xf));
        }
        printf("\n");
        a &= 0xf0;
     }

    return 0;
}

参考: http://bbs.csdn.net/topics/390608383

你可能感兴趣的:(【C语言学习笔记】打印九九乘法表,要求只用一个变量(位运算))