由《打印九九乘法表,要求只能用一个变量》想到的
2013-11-19 04:57
357 查看
一个两位数i,十位数是i/10,个位数是i%10;如56,56/10=5,56%10=6;
所有的两数(从11到99)分解后按顺序排出来的算式就是
这样有点乱,我们让他每到10换一行
这样是大九九,小九九再加个判断
还要排除整10中有0的算式
完整的算法是
这是10进制的思想,其实任何进制都有算法,只是方法有点差别,
我们的思维可以发散一点,如果程序要更多的变量,我们是不是也能用一个变量代替呢,答案是肯定的,要100个变量,我们就分成100段,而且也不限于几个数字,字符等类型也能搞定,这只是一种思路,没有实用性,同学们不要真的这样做,
【注】论坛的回复超了,只好写进博客,希望原楼主能够看到
所有的两数(从11到99)分解后按顺序排出来的算式就是
int i; for (i = 11; i <=99; i++) { printf("%d×%d=%2d ", i % 10 , i / 10, (i / 10) * (i % 10)); }
这样有点乱,我们让他每到10换一行
if (i % 10 == 0) { printf("\n"); }
这样是大九九,小九九再加个判断
if((i % 10)<=(i / 10))
还要排除整10中有0的算式
if( i % 10 != 0)
完整的算法是
int i;
for (i = 11; i <=99; i++)
{
if((i % 10)<=(i / 10)&&( i % 10 != 0))
{
printf("%d×%d=%2d ", i % 10 , i / 10, (i / 10) * (i % 10));
}if (i % 10 == 0) { printf("\n"); }}
这是10进制的思想,其实任何进制都有算法,只是方法有点差别,
我们的思维可以发散一点,如果程序要更多的变量,我们是不是也能用一个变量代替呢,答案是肯定的,要100个变量,我们就分成100段,而且也不限于几个数字,字符等类型也能搞定,这只是一种思路,没有实用性,同学们不要真的这样做,
【注】论坛的回复超了,只好写进博客,希望原楼主能够看到
相关文章推荐
- 算法实战2:打印九九乘法表,要求只能用一个变量
- java 打印输出九九乘法表.要求:只能使用一个while,不能使用for循环、递归。
- 【C语言学习笔记】打印九九乘法表,要求只用一个变量(位运算)
- 只用一个变量打印出九九乘法表
- 从终端输入一个字符,比如是F,要求只能输出大写字母。 打印出以下格式: F *FE **FED ***FEDC ****FEDCB *****FEDCBA
- 打印九九乘法表,要求写两个类,一个主类MultiplicationTable,另一个类MultiplicationLine。
- 打印九九乘法表,要求:只能使用一次for循环,不能使用递归,while
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名
- 要求:不申请变量和空间 反转字符串 ,用一个函数实现。 异或^交换或者加减交换的典型应用! VIA 笔试题
- 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
- 编写一个登录功能,要求账户名只能由14至10位数字组成,密码只能有6位, 任何不符合账户和密码的要求的情况都视为异常,捕获异常并处理异常。
- 定义一个函数求字符串的长度,要求该函数体内不能声明任何变量
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。用1、2、2、3、4、5这六
- c语言 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
- 为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效? 为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里
- 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". 要求: 不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。
- 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". 要求: 不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。
- 给一个不多于5位的正整数,要求:(1)求它是几位数,(2)逆序打印出各位数字。
- 至多只用一个变量就可以输出九九乘法表