c++习题---------------九九乘法表

输入

输入首先包含一个整数T,(0<T<100),表示测试数据组数,然后是T组数据,每组数据包含两个整数,a和b(0<a<=b<10)

输出

对每组测试数据,请输出乘法表中的第a行到第b行,每组测试数据结果后跟一个空行,最后一组数据结果后无空行,注意对齐。如果输入的a, b不符合题意,请输出"Input Error!"。

 #include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int * p = new int[n * 2];
    int i;
    for (i = 0; i < n; i++)
    {
        cin >> p[i * 2];
        cin >> p[i * 2 + 1];
    }
    for (i = 0; i < n; i++)
    {
        int a = p[i * 2];
        int b = p[i * 2 + 1];
        if (a > b || a <= 0 || b >= 10)
        {
            cout << "Input Error!";
            continue;
        }
        for (int j = a; j <= b; j++)
        {
            for (int k = 1; k <=j; k++)
            {
                cout << j << "*" << k << "=" << j * k << "\t";
            }
            cout << endl;
        }
        if (i != n - 1) cout << endl;
    }
    return 0;
}

LZ你这个是要先把每组数据都输入进去的么,然后输出结果的吗?
类似:
3
1 2
3 5
2 3
XXXXXXXXXX(输出)

XXXXXXXXX(输出)

XXXXXXXXX(输出)

定义一个二维数组,一个for循环就算数值,再来个for循换输出,要有输出异常的话,加个if判断

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

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

2*1=2   2*2=4
3*1=3   3*2=6   3*3=9
4*1=4   4*2=8   4*3=12  4*4=16
5*1=5   5*2=10  5*3=15  5*4=20  5*5=25
Press any key to continue