大家好,我想解决一个问题
编写一个C ++程序,允许用户输入一个数字,然后生成其乘法表,将其格式化为5列和20行。 与程序的交互应如下所示(仅显示前4行)
Enter a number 7:
7 14 21 28 35
42 49 56 63 70
77 84 91 98 105
这就是我试过的
#include <iostream>
using namespace std;
int main()
{
int n, mul;
cout << "Enter a number" << endl;
cin >> n;
for(int i = 1; i <= 100; i++) {
mul = n * i;
cout << mul << "\t";
}
return 0;
}
只留下5列和20行的部分
答案 0 :(得分:2)
嗯,您需要确定何时放置\t
以及何时将\n
放在号码后面。您希望在每隔五个数字后加\n
,否则\t
。
提示:有一个算术运算符可以帮助你。
另一种解决方案是使用嵌套循环。
答案 1 :(得分:1)
也许你想要这个?!
#include <iostream>
using namespace std;
int main()
{
int n,mul;
cout << "Enter a number" << endl;
cin >> n;
for(int i=1;i<=100;i++){
mul=n*i;
cout << mul << setw(2);
if(i%5 == 0) // new line after 5 col
cout << endl;
}
return 0;
}
答案 2 :(得分:0)
遍历每一行。每行内循环通过每列。在每一行的末尾打印一个EOLN字符\n
,表示该行的结尾。如果你是新手,可以获得一些不错的C ++书籍,如The C++ Programming Language, 4th Edition或阅读一些教程。
setw()函数可用于指示&#34; cell&#34;的宽度。表:
cout << setw(n) << mul
如果输出不够长,这会导致程序通过添加尾随空格来确保输出长度至少为n。但是,如果输出的长度大于n,则无效。为了避免这种情况,n应该是最高mulitple + 1的长度。