C语言:乘法口诀表的一些实现方法
一、优点
1、有菜单
2、可自定义大小
3、可进行重复输入
二、缺点
1、在 9 以内(包括 9 )的乘法口诀表才能正常左对齐输出
三、代码
1、迭代法
#include <stdio.h>
void menu()
{
printf("******************************\n");
printf("*** 是否要输出乘法口诀表 ***\n");
printf("*** 1、是 ***\n");
printf("*** 0、否 ***\n");
printf("******************************\n");
}
void printMulTable()
{
int n = 0;
printf("请输入大小:");
scanf("%d", &n);
//用“迭代法”来输出乘法口诀表
int i = 0;
int j = 0;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-2d\t", j, i, i * j);
}
printf("\n");
}
}
int main()
{
int input = 0;
do
{
menu();//菜单
printf("请输入:");
scanf("%d", &input);
switch (input)
{
case 1:
printMulTable();
break;
case 0:
printf("成功退出\n");
break;
default:
printf("输入错误\n");
break;
}
} while (input);
return 0;
}
2、递归法 + 迭代法
#include <stdio.h>
void menu()
{
printf("******************************\n");
printf("*** 是否要输出乘法口诀表 ***\n");
printf("*** 1、是 ***\n");
printf("*** 0、否 ***\n");
printf("******************************\n");
}
//用 “递归法” + “迭代法” 打印乘法表
void print(int n)
{
if (n > 1)
{
print(n - 1);
}
int i = 0;
for (i = 1; i <= n; i++)
{
printf("%d*%d=%-2d\t", i, n, i * n);
}
printf("\n");
}
void mulTable()
{
int n = 0;
printf("请输入大小:");
scanf("%d", &n);
print(n);
}
int main()
{
int input = 0;
do
{
menu();//菜单
printf("请输入:");
scanf("%d", &input);
switch (input)
{
case 1:
mulTable();//乘法口诀表
break;
case 0:
printf("成功退出\n");
break;
default:
printf("输入错误\n");
break;
}
} while (input);
return 0;
}
附:若有不足,望指出
^_^感谢^_^