我的教授要求我们在不调用图书馆的情况下确定 userString 中元音的数量。
我在 for 循环中使用 '\0' 来确定用户输入的字符串何时结束,因为我不知道他们将为字符串输入的确切大小。我是初学者,所以请不要给我复杂的答案!谢谢。
我有 for(int i = 0; userString[i] != '\0'; i++) 但程序也将空格键视为空字符,所以我在输出中遇到问题,如果我有空格推荐行将其视为空值并终止程序
在 2 个不同输出的图片处循环以供参考。正如您在输出 1中看到的那样, 当我有“MianJalal”时,我在终端中得到 9,但对于 输出 2 ,当我有“Mian Jalal”(带空格)时,它会将空格视为空并给我 4,我知道'\0' 是 c++ 中特殊字符中的空格,但它也是空的,我怎么能告诉程序我的意思是空而不是空格?
这是我的代码,
#include <iostream>
using namespace std;
int main()
{
int numOfVowels = 0;
int length = 0;
char userString[50]; // The string the user will input
cout << "Enter a sentence to find out how many vowels are in the sentence" << endl;
cin >> userString;
for(int i = 0; userString[i] != '\0'; i++) // '\0' means null in a string in c++; if a user doesn't use a index in a char string
{ // the program will know it's a null in syntax '\0'
if(userString[i] == 'A' or userString [i] == 'a' or userString[i] == 'i')
{
numOfVowels++;
}
length++;
}
cout << length << endl;
return 0;
}