【发布时间】:2026-02-07 02:45:01
【问题描述】:
想做一些花哨的格式化。我有几行要相互交互。获取前两行。打印出第二行中的字符乘以第一行中的整数。用星号字符分隔它们。打印最后一个字符后没有星号。移动到下一个整数和字符。将它们打印在单独的行上。对整个列表执行此操作。我遇到的问题是将它们打印在单独的行上。示例:
5
!
2
?
3
#
期望的输出:
!*!*!*!*!
?*?
#*#*#
我的输出:
!*!*!*!*!*?*?*#*#*#*
下面是我的代码。另一件要提的是,我正在从一个单独的文本文件中读取有关字符和数字的数据。所以我使用了getline函数。
这是一段代码:
ifstream File
File.open("NumbersAndCharacters.txt")
string Number;
string Character;
while(!File.eof(){
getline(File, Number);
getline(File, Character);
//a few lines of stringstream action
for (int i=0; i<=Number; i++){
cout<<Character<<"*";}//end for. I think this is where
//the problem is.
}//end while
File.close();
return 0;
错误在哪里?是循环吗?还是我不懂getline?
每次乘法完成后,它应该打印一个“endl”或“\n”。
感谢大家的回复!
【问题讨论】: