自主设计算法,打印一个九九乘法口诀表(文字版),要 求按列对齐,列与列之间间隔一个中文字符宽度,不得直接逐行打印输出。 (提示:可以将字符“一”到“九”放到数组里然后索引,仅供参考。)
#include<stdio.h>
//输出乘法的文字
void print_num(int m,int n){
char num[]={"十一二三四五六七八九"};
printf("%c%c",num[2*m],num[2*m+1]);
printf("%c%c",num[2*n],num[2*n+1]);
if(m*n<10){//一位
printf("得");
printf("%c%c",num[2*m*n],num[2*m*n+1]);}
else if(m*n>=10 && m*n<100){//两位
printf("%c%c",num[2*(m*n/10)],num[2*(m*n/10)+1]);
printf("%c%c",num[0],num[1]);//十
if(m*n%10 != 0)printf("%c%c",num[2*(m*n%10)],num[2*(m*n%10)+1]);}
printf("\t");
}
//test1
void test1(){
int i,j;
for(i=1;i<10;i++){
for(j=1;j<=i;j++){
print_num(i,j);
}
printf("\n");
}
}
int main(){
test1();
return 0;
}