给定5个输入,程序将检查哪个输入的字符更大(假设字符仅在这里是字母)。
这是我编写的代码(所有变量均为char数据类型)。
问题是,每次时打印最后输入的字符,这很明显逻辑上有问题。
这是我编写的代码:cout << "Enter a character ";
cin >> chr;
for (int i = 0; i < 4; i++)
{
cout << "Enter a character ";
cin >> chr2;
if (chr > chr2)
{
store = chr;
}
else
{
store = chr2;
}
chr = chr2;
}
cout << "Greater character is "<< store << endl;
最佳答案
您使代码过于复杂!您需要做的是首先将“滚动”最大值(store
变量)设置为小于任何可能的输入值(例如0)的值,然后运行一个循环以读取每个测试字符。在每个输入上,将给定的字符与您的“最大滚动”值进行比较,如果更大,则将该最大滚动值设置为给定的输入值。
像这样:
char store = 0, chr;
for (int i = 0; i < 5; ++i) {
cout << "Enter a character ";
cin >> chr;
if (chr > store) store = chr;
}
cout << "Greatest character is "<< store << endl;
随时要求进一步的澄清和/或解释。
关于c++ - 检查更大的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59174593/