C++程序设计 (第三版) 谭浩强 习题5.14
习题 5.14 输入n个字符串,把其中以字母A打头的字符串输出。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法1:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str[80];
int i, n;
cout<<"Please enter string number: ";
cin>>n;
for (i=0; i<n; i++){
cout<<"Please enter No."<<i+1<<" string: ";
cin>>str[i];
}
for (i=0; i<n; i++)
if (str[i][0]=='A')
cout<<str[i]<<endl;
system("pause");
return 0;
}
方法2:使用指针,函数的模块化设计,分配内存
#include <iostream>
#include <string>
using namespace std;
const int N = 3;
void inputStr(string *str, int n){
cout<<"Enter "<<n<<" Strings: "<<endl;
for(int i = 0; i < n; i++){
cout<<"Enter No."<<i + 1<<" Strings: ";
getline(cin, str[i]);
}
}
void outputStr(string *str, int n){
int sign = 0;
for(int i = 0; i < n; i++){
if(str[i].at(0) == 'A'){
sign = 1;
cout<<str[i]<<endl;
}
}
if(sign == 0){
cout<<"None!"<<endl;
}
cout<<endl;
}
int main(){
string *str = new string[N];
inputStr(str, N);
outputStr(str, N);
delete []str;
system("pause");
return 0;
}