现有一串字符串,请找出其中的大写字母并顺序保存至output数组中。
【注:字母可能包含大写、小写字母、数字以及控制字符】
要求实现函数my_string(char input[],char output[])
例子:
input:3dfD93dafkIFIkdLDkjLKD
output:DIFILDLKD
#include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; #define MAX_SIZE 1024 void my_string(char input[],char output[]) { int n=strlen(input); vector<char> str; for (int i=0;i<n;++i) { if (input[i]<='Z'&&input[i]>='A') { char t=input[i]; str.push_back(t); } } int m=str.size(); // sort(str.begin(),str.end()); for (int j=0;j<m;j++) { cout<<str.at(j); } cout<<endl; } int main() { // char input[]="3dfD93dafkIFIkdLDkjLKD"; char input[MAX_SIZE]=""; gets(input); char output[20]; my_string(input,output); return 0; }
注释:
1 看到题目后,想联系一下前几天刚看的STL的东西,所以就选择对容器的操作,确实比较方便
2 题目没涉及什么算法,核心就是判断是否为大写字母,且下标的顺序输出,而不是字母的顺序输出,所以不用排序