搞点多样式的九九乘法表
#include "stdio.h"
#include "stdlib.h"
void jiujiu1(); //九九乘法表方法(函数)原形
void jiujiu2();
void jiujiu3();
void jiujiu4();
void main()
{
int choice;
char ans;
do
{
printf("请选择你要看的九九乘法表样式(1-4):\t");
fflush(stdin);
scanf("%d",&choice);
switch(choice)
{
case 1:
jiujiu1(); //调用九九乘法表方法(函数)
break;
case 2:
jiujiu2();
break;
case 3:
jiujiu3();
break;
case 4:
jiujiu4();
break;
default:
printf("输入出错!");
}
printf("是否继续查看其它样式(y/n)?");
fflush(stdin);
ans=getchar();
}while(ans=='y' || ans=='Y');
}
void jiujiu1() //定义方法(函数)
{
int i=1,j;
while (i<=9)
{
j=1;
while(j<=i)
{
printf("%d*%d=%-2d\t",i,j,i*j);
j++;
}
printf("\n");
i++;
}
system("pause"); //调用system函数 使用DOS中的暂停命令
}
void jiujiu2() //定义方法(函数)
{
int i=9,j;
while (i>=1)
{
j=i;
while(j>=1)
{
printf("%d*%d=%-2d\t",i,j,i*j);
j--;
}
printf("\n");
i--;
}
system("pause");
}
void jiujiu3() //定义方法(函数)
{
int i,j,k;
for(i=9;i>=1;i--) //控制打印的行数 依次往下打印
{
if(9-i>=1) //当打印第一行i=9时. 条件不成立 就直接打印出第一行的所有乘法式子
{
for(k=1;k<=9-i;k++) //如果以上条件成立 就打印k个制表位
{
printf("\t");
}
}
for(j=i;j>=1;j--) //如果条件不成立
{
printf("%d=%d*%d\t",i*j,i,j); //输出相应行的相应的乘法式子
}
printf("\n");
}
system("pause");
}
void jiujiu4()
{
int i,j,h;
h=0;
printf("乘法表:\n\n");
printf(" x | 1 2 3 4 5 6 7 8 9 10\n");
printf("----+------------------------------------------------------------\n");
for(i=1;i<=9;i++) //打印九行
{
printf(" %d |",h+i);
for(j=1;j<=10;j++) //打印十个数出来
{
printf(" %3d",i*j); //打印结果
}
printf("\n");
}
printf("10 | 10 20 30 40 50 60 70 80 90 100\n");//单独打印第十行.为了格式好看
system("pause");
}