第四次作业

输入一个数组,输出数组倒序的结果。

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int a[10];
for(int i=0;i<10;i++){
cin>>a[i];
}
for(int i=9;i>=0;i--){
cout<<a[i]<<" ";
}
return 0;
}

输入一个字符串,判断是否为回文串(回文串:从前向后输出与从后向前输出为相同的结果)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string a;
getline(cin,a);
int len=a.length();
for(int i=0;i<len/2;i++){
if(a[i]==a[len-1-i]){
continue;
}else{
cout<<"不是回文串"<<endl;
return 0;
}
}
cout<<"是回文串"<<endl;
return 0;
}

输入一个字符串,将字符串中
(1) 字母a用*代替
(2) 将字母a去掉

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string a;
getline(cin,a);
int len=a.size();
for(int i=0;i<len;i++){
if(a[i]=='a'){
a[i]='*';
}
}
cout<<a;
return 0;
}

#include<iostream>
#include<cstring>
using namespace std;
int main(){
string a;
getline(cin,a);
int len=a.size();
for(int i=0;i<len;i++){
while(a[i]=='a'){
for(int j=i;j<len;j++){
a[j]=a[j+1];
}
len-=1;
}
}
cout<<a;
return 0;
}

输入一个字符串,将其中的大写变小写,小写变大写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string a;
cin>>a;
int len=a.size();
for(int i=0;i<len;i++){
if(a[i]>=65&&a[i]<=90)
a[i]=a[i]+32;
else if(a[i]>=97&&a[i]<=122)
a[i]=a[i]-32;
}
cout<<a<<endl;
return 0;
}

数组A[1..n]为int类型,将其调整为左边都是奇数右边都是偶数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<iostream>
using namespace std;
const int N=100010;
int main(){
int a[N];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
int i=0;
int j=n-1;
while(i<j){
while(i<j&&a[j]%2==0){
j--;
}
while(i<j&&a[i]%2==1){
i++;
}
if(i<j){
swap(a[i],a[j]);
}
}

for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
return 0;
}