题目来源:https://blog.csdn.net/u014552756/article/details/55510814
代码原创
1.数字排序
#include<bits/stdc++.h>
using namespace std;
bool cmp(long long a, long long b){
return a < b;
}
int main(){
long long a[10];
for(int i = 0; i < 10; i++){
cin>>a[i];
cin.get();
}
sort(a,a+10,cmp);
for(int i = 0; i < 9; i++){
cout << a[i] << ",";
}
cout<<a[9]<<endl;
return 0;
}
2.学生信息插入删除
#include<bits/stdc++.h>
using namespace std;
struct stu{
int num;
string name;
char sex;
int old;
};
vector<stu> lst;
void inialize(){
stu tmp;
tmp.num = 10;
tmp.name = "wes";
tmp.sex = 'f';
tmp.old = 23;
lst.push_back(tmp);
tmp.num = 20;
tmp.name = "ert";
tmp.sex = 'f';
tmp.old = 45;
lst.push_back(tmp);
tmp.num = 30;
tmp.name = "str";
tmp.sex = 't';
tmp.old = 89;
lst.push_back(tmp);
}
void del(int num){
for(int i = 0; i < lst.size(); i++){
if(lst[i].num == num){
lst.erase(lst.begin() + i);
}
}
return ;
}
bool cmp(stu a, stu b){
return a.num > b.num;
}
int main(){
inialize();
string s;
while(getline(cin,s)){
char buf[50];
for(int i = 0; i < s.size(); i++){
if(s[i] == ' '){
s.erase(s.begin()+i);
}else{
buf[i] = s[i];
}
}
stu tmp;
char op = buf[0];
if(op == 'D'){
sscanf(buf+1,"%d",&tmp.num);
del(tmp.num);
}else{
char t_name[40];
char *p = strtok(buf+1,",");
sscanf(p,"%d",&tmp.num);
//cout << tmp.num << endl;
p = strtok(NULL,",");
sscanf(p,"%s",t_name);
tmp.name = t_name;
//cout << tmp.name << endl;
p = strtok(NULL,",");
sscanf(p,"%c",&tmp.sex);
p = strtok(NULL,",");
sscanf(p,"%d",&tmp.old);
p = strtok(NULL,",");
lst.push_back(tmp);
}
sort(lst.begin(),lst.end(),cmp);
for(int i = 0; i < lst.size()-1; i++){
cout << "(" << lst[i].num <<","<<lst[i].name
<<","<<lst[i].sex<<","<<lst[i].old<<"),";
}
cout << "(" << lst[lst.size()-1].num <<","<<lst[lst.size()-1].name
<<","<<lst[lst.size()-1].sex<<","<<lst[lst.size()-1].old<<")"<<endl;
}
return 0;
}
3.后序中序求先序
#include<bits/stdc++.h>
using namespace std;
void toPre(string post, string mid, string &pre){
//cout << post <<" "<<mid<<" "<<pre<<endl;
if(post.size() == 1){
pre += post[0];
return;
}
for(int i = 0; i < mid.size(); i++){
if(mid[i] == post[post.size()-1]){
pre += mid[i];
toPre(post.substr(0,i), mid.substr(0,i),pre);
toPre(post.substr(i, post.size() - i -1), mid.substr(i + 1), pre);
break;
}
}
}
int main(){
string post, mid, pre;
cin >> post >> mid;
toPre(post, mid, pre);
cout << pre << endl;
return 0;
}