【问题标题】:How To Print Specific Value Using For Loops [closed]如何使用 For 循环打印特定值 [关闭]
【发布时间】:2021-01-07 02:17:06
【问题描述】:

我有一个函数可以像这样打印数组:

void letter_function(char cards[]) {
 for (int i = 0; i < 6; i++) {
    cout << "\n" << "|" << letters[i] << "|";       
 }
cout << endl;
}

char letters[6] = {'A','B','C','D','E','F'};

我正在尝试从此函数打印特定值。例如,该函数将打印带有"|" 的数组字母。

现在,假设我想打印带有该符号的第一个字母。我怎样才能做到这一点。我想过使用另一个循环,但没有任何效果,我不确定如何将函数合并到循环中以执行我想要的操作。

如果我想打印函数的第一个字母,输出应该是: |A|

【问题讨论】:

  • 请显示所需的输出,这将有助于澄清问题。
  • 我还是不明白,你为什么要一个 loop 来打印单个元素?请说明如何调用此函数。
  • 既然你说我想我可以用 if 语句来做到这一点。但是,我正在努力从一个函数中选择某个值来打印出来。如果我做类似letters[0] 的操作来打印字母A 但使用|A|
  • 只是索引到它,例如如果要打印第三个元素,请执行cout &lt;&lt; '|' &lt;&lt; letters[2] &lt;&lt; '|';
  • 我知道我可以做到。但是,因为我已经有了这个函数,而且我会写很多 if 语句,所以我希望这些行很短,而不是写我在函数中已有的内容。

标签: c++ arrays function


【解决方案1】:

所以,我相信您想要做的是能够打印从单个字母到整个数组的任何位置。所以你可以这样做:

void letter_function(char cards[], int start, int end) {
 for (int i = start; i < end; i++) {
    cout << "\n" << "|" << letters[i] << "|";       
 }
cout << endl;
}

char letters[6] = {'A','B','C','D','E','F'};

这将允许您改变起始位置和结束位置以满足您所需的索引或范围。

另一种选择是传入一个字符而不是开始和结束索引并添加一个 if 语句。

void letter_function(char cards[], char target) {
    for (int i = start; i < end; i++) {
        if(letter[i] == target) cout << "\n" << "|" << letters[i] << "|";       
     }
    cout << endl;
    }
    
    char letters[6] = {'A','B','C','D','E','F'};

如果您能阐明该功能的预期效果,我将能够给出更准确的答案。

【讨论】:

  • 好吧,我知道我解释得不好。我自己也糊涂了。所以,如果你运行这个函数,你会看到字母列表,旁边有"|"?现在,我想要做的是,因为我已经有了打印和指定符号的功能,我希望能够从功能中选择任何特定的字母来打印出来。我想知道这是否可能?
【解决方案2】:

如果你想在保持循环的同时只打印一个字符,你可以在循环中添加一个 if 语句。

void letter_function(char cards[], int index) {
for (int i = 0; i < 6; i++) {
      if (i == index) {
         cout << "\n" << "|" << letters[i] << "|";   
      }   
    }
    cout << endl;
}

【讨论】:

  • 这确实有效,但我正在尝试用我正在制作的这个程序做点什么。该函数必须保持原来的样子,因为稍后我希望能够执行一些 if 语句并从该函数中选择特定值,而不必再次编写所有内容或向所有 if 语句添加相同的 cout 行。
  • 我想我明白你的意思了。您希望在保持 for 循环的同时打印您选择的一个索引。正确的?我为此编辑了答案。请再次检查。
  • @Chris Wilhelms 实际上有答案。无论如何,谢谢你的帮助,我很感激!
猜你喜欢
  • 1970-01-01
  • 2014-11-16
  • 2011-09-07
  • 1970-01-01
  • 2022-12-23
  • 1970-01-01
  • 2018-02-08
  • 1970-01-01
  • 2013-04-24
相关资源
最近更新 更多