一个两位数i,十位数是i/10,个位数是i%10;如56,56/10=5,56%10=6;
所有的两数(从11到99)分解后按顺序排出来的算式就是
[code=c]
int i;
for (i = 11; i <=99; i++)
{
printf("%d×%d=%2d ", i % 10 , i / 10, (i / 10) * (i % 10));
}
[/code]
这样有点乱,我们让他每到10换一行
[code=c]
if (i % 10 == 0)
{
printf("\n");
}
[/code]
这样是大九九,小九九再加个判断
[code=c]
if((i % 10)<=(i / 10))
[/code]
还要排除整10中有0的算式
[code=c]
if( i % 10 != 0)
[/code]
完整的算法是
[code=c]
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");
}
}
[/code]
这是10进制的思想,其实任何进制都有算法,只是方法有点差别,
所有的两数(从11到99)分解后按顺序排出来的算式就是
[code=c]
int i;
for (i = 11; i <=99; i++)
{
printf("%d×%d=%2d ", i % 10 , i / 10, (i / 10) * (i % 10));
}
[/code]
这样有点乱,我们让他每到10换一行
[code=c]
if (i % 10 == 0)
{
printf("\n");
}
[/code]
这样是大九九,小九九再加个判断
[code=c]
if((i % 10)<=(i / 10))
[/code]
还要排除整10中有0的算式
[code=c]
if( i % 10 != 0)
[/code]
完整的算法是
[code=c]
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");
}
}
[/code]
这是10进制的思想,其实任何进制都有算法,只是方法有点差别,
我们的思维可以发散一点,如果程序要更多的变量,我们是不是也能用一个变量代替呢,答案是肯定的,要100个变量,我们就分成100段,而且也不限于几个数字,字符等类型也能搞定,这只是一种思路,没有实用性,同学们不要真的这样做,
【注】论坛的回复超了,只好写进博客,希望原楼主能够看到