#include <stdio.h> #include <string.h> void copy_vowels(char *str1, char *str2) { int len = strlen(str1); int index = 0; for (int i = 0; i < len; i++) { if (str1[i] == 'a' || str1[i] == 'e' || str1[i] == 'i' || str1[i] == 'o' || str1[i] == 'u' || str1[i] == 'A' || str1[i] == 'E' || str1[i] == 'I' || str1[i] == 'O' || str1[i] == 'U') { str2[index++] = str1[i]; } } str2[index] = '\0'; } int main() { char str1[100], str2[100]; printf("Enter a string: "); scanf("%[^\n]s", str1); copy_vowels(str1, str2); printf("The vowels in the string are: %s", str2); return 0; }修改这段代码,使得它能够在c++中运行
时间: 2024-01-20 15:02:39 浏览: 25
以下是修改后的代码,使其能够在C++中运行:
```cpp
#include <iostream>
#include <string.h>
using namespace std;
void copy_vowels(char *str1, char *str2) {
int len = strlen(str1);
int index = 0;
for (int i = 0; i < len; i++) {
if (str1[i] == 'a' || str1[i] == 'e' || str1[i] == 'i' || str1[i] == 'o' || str1[i] == 'u' ||
str1[i] == 'A' || str1[i] == 'E' || str1[i] == 'I' || str1[i] == 'O' || str1[i] == 'U') {
str2[index++] = str1[i];
}
}
str2[index] = '\0';
}
int main() {
char str1[100], str2[100];
cout << "Enter a string: ";
cin.getline(str1, 100);
copy_vowels(str1, str2);
cout << "The vowels in the string are: " << str2 << endl;
return 0;
}
```
主要的变化有:
1. 头文件改为iostream;
2. 改为使用cout和cin进行输入输出;
3. 修改了读入字符串的方式,使用getline读入一行字符串;
4. 修改了printf输出的方式,改为使用cout;
5. 去掉了#include <stdio.h>这行代码,因为在C++中,头文件不需要包含stdio.h,iostream已经包含了stdio.h的内容。