PTA基础编程题目集

7-20 打印九九口诀表 (15 分) 

下面是一个完整的下三角九九口诀表:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  

本题要求对任意给定的一位正整数N,输出从1*1N*N的部分口诀表。

输入格式:

输入在一行中给出一个正整数N(1≤N≤9)。

输出格式:

输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

输入样例:

4

结尾无空行

输出样例:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  

给出两种解决代码:

使用数组

注意数组下标都是从0开始

思路:由n输入的值控制输出9*9乘法表的行数

          第i行有i列

#include <stdio.h>
int main()
{
    int a[9][9];
    int i, j, n;
    
    scanf("%d",&n);
    
    for(i=0;i<n;i++)
        for(j=0;j<=i;j++)
            a[i][j]=(i+1)*(j+1);
            
    for(i=0;i<n;i++)
        {
        	for(j=0;j<=i;j++)
            printf("%d*%d=%-4d", j+1, i+1, a[i][j]);
            printf("\n");
		}
		
         return 0;
}

使用for循环的嵌套

#include "stdio.h"
#include "math.h"
 
int main()
{
                         //打印乘法口诀i表
    
    int n;
    int i=1,j=1;
    
    scanf("%d",&n);
    
    for (i=1; i<=n; i++) 
   {
        for (j=1; j<=i; j++)
        {//注意j的范围
            printf("%d*%d=%-4d",j,i,i*j);   //注意顺序
            if(i==j)
            {  
                printf("\n");
            }
        }
        
    }
    
    return 0;
    
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值