描述
写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。。
输入
一行字符串
输出
顺序输出其中的元音字母(aeiuo/AEIUO)
输入样例 1
45abc **de
输出样例 1
ae
输入样例 2
ABCDIO12
输出样例 2
AIO
代码一(如下):不调用函数
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a;
string c;
getline(cin, a);
int b = a.size();
int i;
for (i = 0; i < b; i++)
{
if (a[i] == 'a' || a[i] == 'e' || a[i] == 'i' || a[i] == 'o' || a[i] == 'u')
{
c += a[i];
}
if (a[i] == 'A' || a[i] == 'E' || a[i] == 'I' || a[i] == 'O' || a[i] == 'U')
{
c += a[i];
}
}
cout << c;
return 0;
}
代码二(如下):调用函数
#include <iostream>
#include <string>
using namespace std;
string yuanyin(string);
int main()
{
string a;
getline(cin, a);
string c = yuanyin(a);
cout << c;
return 0;
}
string yuanyin(string a)
{
string c;
int b = a.size();
for (int i = 0; i < b; i++)
{
if (a[i] == 'a' || a[i] == 'e' || a[i] == 'i' || a[i] == 'o' || a[i] == 'u')
{
c += a[i];
}
if (a[i] == 'A' || a[i] == 'E' || a[i] == 'I' || a[i] == 'O' || a[i] == 'U')
{
c += a[i];
}
}
return c;
}
问题点:
①:C++逻辑运算符:
1)&& 逻辑与 (相当于其他语言中的and)
2)|| 逻辑或 (相当于其他语言中的or)
3)!逻辑非 (相当于其他语言中的not)
“&&”和“||”是“双目运算符”,它要求在其两侧各有一个运算量(又称操作数);“!”是“一目运算符”,只要求在其右侧有一个运算量,如 !(a>b)。
②:逻辑运算举例如下:
a && b 若a,b为真,则 a&&b 为真
a || b 若a,b之一为真,则 a || b 为真
!a 若 a 为真,则 !a为假
③:在一个逻辑表达式中如果包含多个逻辑运算符,如
!a&&b || x>y && c
按先 “!”(非)再 “&&”(与)最后 “||”(或)的优先次序来运算。