至多只用一个变量就可以输出九九乘法表
2013-10-12 10:10
387 查看
csdn论坛上看到的题目:
//要求,程序至多只用一个变量就可以输出九九乘法表,当然最简单的是一个变量都不用,只用最简单的字符串printf挨个输出即可。
//其余方法的想法,既然只要求用一个变量来完成必须由两个变量才能遍历完的二维数组,则应该要想到是要做拆分变量
//---------------------方法一:-----------------------------
//第一种拆分方法:使用两位数,十位跟个位代表两个变量,来实现转换成两个变量
//---------------------方法二:-----------------------------
// 第二种拆分方法:使用一个int型进行拆分,高四位作为第一个循环变量,低四位作为第二个循环变量,这有本程序之内的局限性,
//因为九九乘法表是两个变量只局限在1-9之间的整数,所以8421的15个数完全够用了。移位操作的考察,要会。
自己运行过的代码:
//要求,程序至多只用一个变量就可以输出九九乘法表,当然最简单的是一个变量都不用,只用最简单的字符串printf挨个输出即可。
//其余方法的想法,既然只要求用一个变量来完成必须由两个变量才能遍历完的二维数组,则应该要想到是要做拆分变量
//---------------------方法一:-----------------------------
//第一种拆分方法:使用两位数,十位跟个位代表两个变量,来实现转换成两个变量
//---------------------方法二:-----------------------------
// 第二种拆分方法:使用一个int型进行拆分,高四位作为第一个循环变量,低四位作为第二个循环变量,这有本程序之内的局限性,
//因为九九乘法表是两个变量只局限在1-9之间的整数,所以8421的15个数完全够用了。移位操作的考察,要会。
自己运行过的代码:
//xinxin-九九乘法表 #include<stdio.h> int main() { int xy; for(xy=1;xy<0xaa;xy++) { for(xy=(xy&0x0f)+0x10;(xy>>4)<=(xy&0x0f);xy=xy+0x10) printf("%dx%d=%d ",xy>>4,xy&0x0f,(xy>>4)*(xy&0x0f)); printf("\n"); } return 0; } //a>>4这种移位运算也是跟a+1运算一样,只是一个中间结果,不对变量a本身数值产生影响。只有a=a>>4时,才是a本身发生改变 //这里的int类型应该是四个字节,但是实际用到的只有最地位的一个字节,其实,这里的int也可以换成char.
相关文章推荐
- 九九乘法表 只用一个变量神面试题 (收集整理转自CSDN论坛)
- 只用一个循环,输出九九乘法表
- 只用一个for循环输出九九乘法表
- 只用一个变量打印出九九乘法表
- 【C语言学习笔记】打印九九乘法表,要求只用一个变量(位运算)
- 使用递归函数,将一个整型数组倒序输出。(数组用了随机数,每次的数组都不同,只用了调用,遗憾没用递归。。可以把for循环换成递归)
- php里拼接字符串成为一个变量,并且可以输出
- 大家用了这么久的.net有没有发现C#中可以用中文变量呀!!可用这个特性来彻底改变程序的易读性(搞笑).但其实有一个非常独特的用处的
- 一个时间格式的函数,可以把时间格式为各种输出
- 怎么把标准输出的内容赋值给一个shell变量
- 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。
- 如何声明一个全局变量,可以在应用的任何单元引用
- 1.创建一个Rectangle类,添加width和height两个成员变量。 2.在Rectangle中添加两种方法分别计算矩形的周长和面积 3.编程利用Rectangle输出一个矩形的周
- java输出一个九九乘法表
- 一个有趣的问题:可以输出自己的源程序代码(quine)
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- Oracle中输出一个变量
- 只用css可以hover一个元素的时候改变另一个元素的位置
- 用JAVA创建一个日期类MyDate,要求可以设置日期,增加日期以及输出日期
- 一个转换输出函数.可以用于模板转换