输入
输入首先包含一个整数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