gpt4 book ai didi

c++ - 在 C++ 中格式化列

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:24 24 4
gpt4 key购买 nike

我有以下生成乘法表的程序。当输出达到两位数时,就会出现格式问题。如何理顺列?

#include <iostream>

using namespace std ;
int main()
{
while (1 != 2)
{
int column, row, c, r, co, ro;

cout << endl ;

cout << "Enter the number of columns: " ;
cin >> column ;
cout << endl ;
cout << "Enter the number of rows: " ;
cin >> row ;
cout << endl ;

int temp[column] ;
c = 1 ;
r = 1 ;
for(ro = 1; ro < row ; ro ++ ){
for(co = 1; co < column ; co ++ ){
c = c ++ ;
r = r ++ ;
temp [c]= co * ro;

cout << temp[c] << " ";
}
cout << endl ;
}
system("pause");
}
}

最佳答案

C++ 有 setwsetfill就是为了这个目的。 setw 设置宽度,setfill 设置填充字符。

在你的情况下,你可以使用类似的东西:

#include <iostream>
#include <iomanip>

int main (void) {
std::cout << std::setw(5) << 7 << std::endl; // will output " 7".
return 0;
}

您的代码还有许多其他问题,至少其中一些列在下面:

  • 你没有为你的数组分配足够的空间,它应该是column*row(或者使用二维数组)。
  • 数组索引从 0 开始,而不是 1。
  • c = c++ 不是一个好主意,c++ 足以增加 c
  • 您可能会尝试在每次迭代中将 c 递增两次,一次是 for 语句本身,一次是在 for 主体中。
  • system("pause"); 是一个丑陋的 hack,语言提供了一个非常好的 getcharcin 等价物。
  • while (1 != 2) 看起来很简单错误 :-) 因为 1 永远不会等于 2。只需使用 while (1)for(;;) - 任何称职的编码员都会明白你的意思。

关于c++ - 在 C++ 中格式化列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3809062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com