NOI//1.7 字符串基础
01
#include<bits/stdc++.h>
using namespace std;
int main ()
{
char s[255] ;
gets(s);
int len = strlen(s);
int count = 0;
for(int i = 0; i < len ;i++)
{
if( s[i] - '0' <= 9 && s[i] - '0' >= 0 )
count ++ ;
}
cout << count << endl;
return 0;
}
02
#include<iostream>
#include<cstring>
#include<stdio.h>
using namespace std;
main ()
{
int a[27] = {0};
char c[100005];
cin >> c;
char b;
int len = strlen(c);
for(int i = 0; i < len; i++)
{
a[ c[i]-'a' ]++;
}
int flag = 0;
for(int i = 0; i < len; i++)
{
if(a[c[i]-'a'] == 1)
{
b = c[i];
flag = 1;
break;
}
}
if(!flag)
cout << "no" ;
else
cout << b;
}
03
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
main ()
{
char str1[505],str2[505];
double Similar;
cin >> Similar;
cin >> str1;
cin >> str2;
double count = 0;
double len = strlen(str1);
for(int i = 0; i < len; i++)
{
if( str1[i] == str2[i])
count ++;
}
if(Similar > count/len)
cout << "no";
else
cout << "yes";
}
04
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
main ()
{
char a[10],b[10];
int t;
cin >> t;
while (t--)
{
cin >> a;
cin >> b;
if(a[0] == b[0])
cout << "Tie" << endl;
else if( b[0] == 'S' && a[0] == 'R')
cout << "Player1" << endl;
else if( b[0] == 'P' && a[0] == 'S')
cout << "Player1" << endl;
else if( b[0] == 'R' && a[0] == 'P')
cout << "Player1" << endl;
else
cout << "Player2" << endl;
}
}
05
#include<iostream>
#include<cstring>
#include<string>
#include<stdio.h>
using namespace std;
main ()
{
char a[105];
char c;
gets(a);
int len = strlen(a);
for(int i = 0; i < len; i++)
{
c = a[i] + a[(i+1)%len];
cout << c;
}
}
06
#include<iostream>
#include<cstring>
#include<string>
#include<stdio.h>
using namespace std;
main ()
{
char a[25];
cin >> a;
int len = strlen(a);
int i, flag = 0;
for( i = 0; i < len; i++)
{
if(a[0] - '0' <= 9 && a[0] - '0' >= 0)
{
flag = 1;
break;
}
else if(a[i] >= 'A' && a[i] <= 'Z')
{
continue;
}
else if( a[i] >= 'a' && a[i] <= 'z')
{
continue;
}
else if( a[i] >= '0' && a[i] <= '9')
{
continue;
}
else if( a[i] == '_')
continue ;
else
flag = 1;
}
if(flag)
cout << "no" ;
else
cout << "yes" ;
}
07
#include<iostream>
#include<cstring>
#include<string>
#include<stdio.h>
using namespace std;
main ()
{
char a[255];
scanf("%s",&a);
int len = strlen(a);
for(int i = 0; i < len; i++)
{
if(a[i] == 'A')
a[i] = 'T';
else if( a[i] == 'T')
a[i] = 'A';
else if( a[i] == 'G')
a[i] = 'C';
else
a[i] = 'G';
}
cout << a;
}
08
#include<iostream>
#include<cstring>
#include<string>
#include<stdio.h>
using namespace std;
main ()
{
char a[35];
cin >> a;
int len = strlen(a);
char ch,c;
cin >> ch >> c;
for(int i = 0; i < len; i++)
{
if(a[i] == ch)
a[i] = c;
}
cout << a;
}
09
#include<iostream>
#include<cstring>
#include<string>
#include<stdio.h>
using namespace std;
main ()
{
char a[85];
gets(a);
int len = strlen(a);
for(int i = 0; i < len; i++)
{
if(a[i] == 'z')
{
a[i] = 'a';
}
else if(a[i] == 'Z')
{
a[i] = 'A';
}
else if( a[i] <= 'y' && a[i] >= 'a' )
a[i] = a[i] + 1;
else if (a[i] <= 'Y' && a[i] >= 'A')
a[i] = a[i] + 1;
else
a[i] = a[i];
}
cout << a;
}
10
#include<iostream>
#include<cstring>
#include<string>
#include<stdio.h>
using namespace std;
main ()
{
char a[85];
gets(a);
int len = strlen(a);
for(int i = 0; i < len; i++)
{
if (a[i] <= 'Z' && a[i] >= 'A')
a[i] = (a[i] - 'A' - 5 + 26) % 26 + 65;
else
a[i] = a[i];
}
cout << a;
}
11
#include<iostream>
#include<cstring>
using namespace std;
int main ()
{
char a[26] ,b[26];
bool c[26] ,d[26];
memset(a, '\0', sizeof(a));
memset(b, '\0', sizeof(b));
memset(c, 0, sizeof(c));
memset(d, 0, sizeof(d));
string s1, s2, s3;
cin >> s1 >> s2 >> s3;
int s1len = s1.length();
for (int i = 0; i < s1len; i++)
{
if(a[s1[i] - 'A'] == '\0')
a[s1[i] - 'A'] = s2[i];
else if(a[s1[i] - 'A'] != '\0' && s2[i] != a[s1[i] - 'A'])
{
cout << "Failed";
return 0;
}
}
for(int i = 0 ; i < s1.length(); i++)
{
c[s1[i] - 'A'] = 1;
d[s2[i] - 'A'] = 1;
}
for(int i = 0; i < 26 ; i++){
if(c[i] != 1 || d[i] != 1)
{
cout << "Failed";
return 0;
}
}
for (int i = 0; i < s1len; i++)
{
if(b[s2[i] - 'A'] == '\0')
b[s2[i] - 'A'] = s1[i];
else if(b[s2[i] - 'A'] != '\0' && s1[i] != b[s2[i] - 'A'])
{
cout << "Failed";
return 0;
}
}
int s3len = s3.length();
for(int i = 0; i < s3len ; i++)
{
if(a[s3[i] - 'A'] == '\0')
{
cout << "Failed";
return 0;
}
}
for(int i = 0; i < s3len ; i++)
{
cout << a[s3[i] - 'A'];
}
}
12
#include<iostream>
#include<string.h>
#include<cstring>
using namespace std;
int main (){
char a[52];
char b[52];
cin >> a;
int len = strlen(a);
for (int i = 0; i < len ; i++){
if(a[i] - 'a' >= 0 && a[i] - 'z' <= 25)
{
a[i] = (a[i] - 'a' + 3) % 26 + 97;
a[i] = a[i] - 32;
}
else if(a[i] - 'A' >= 0 && a[i] - 'Z' <= 25)
{
a[i] = (a[i] - 'A' + 3) % 26 + 65;
a[i] = a[i] + 32;
}
}
for(int i = 0; i < len;i++)
{
b[i] = a[len - i - 1];
}
for(int i = 0;i < len ;i++)
cout << b[i];
return 0;
}
13
#include<iostream>
#include<string.h>
#include<cstring>
using namespace std;
int main (){
char a[100];
gets(a);
int len = strlen(a);
for (int i = 0; i < len ; i++){
if(a[i] - 'a' >= 0 && a[i] - 'z' <= 25)
{
a[i] = a[i] - 32;
}
else
a[i] = a[i];
}
cout << a;
return 0;
}
14
#include<iostream>
#include<string.h>
#include<cstring>
using namespace std;
int main (){
char a[88];
cin.get(a,85);
int len = strlen(a);
for (int i = 0; i < len ; i++){
if(a[i] - 'a' >= 0 && a[i] - 'z' <= 25)
{
a[i] = a[i] - 32;
}
else if(a[i] - 'A' >= 0 && a[i] - 'Z' <= 25)
{
a[i] = a[i] + 32;
}
else
a[i] = a[i];
}
cout << a;
return 0;
}
15
#include<bits/stdc++.h>
using namespace std;
int main (){
int n;
cin >> n;
while (n--)
{
char a[28];
cin >> a;
int len = strlen(a);
if(a[0] >= 'a' && a[0] <= 'z' )
a[0] -= 32;
else
a[0] = a[0];
for (int i = 1; i < len ; i++)
{
if(a[i] >= 'A' && a[i] <= 'Z')
a[i] += 32;
else
a[i] = a[i];
}
for(int i = 0; i < len; i++)
{
cout << a[i];
}
cout << endl;
}
return 0;
}
16
#include<bits/stdc++.h>
using namespace std;
int main (){
string a, b;
getline(cin,a);
getline(cin,b);
int alen = a.length();
int blen = b.length();
for(int i = 0; i < alen && i < blen; i++)
{
if(a[i] >= 65 && a[i] <= 90)
a[i] += 32;
if(b[i] >= 65 && b[i] <= 90)
b[i] += 32;
}
if(a == b)
cout << "=";
else if(a < b)
cout << "<";
else
cout << ">";
return 0;
}
17
#include<iostream>
using namespace std;
int main ()
{
string s1, s2;
string s3, s4;
getline(cin,s1);
getline(cin,s2);
int s1len = s1.length();
int s2len = s2.length();
for (int i = 0; i < s1len; i++)
{
if(s1[i] <= 'Z' && s1[i] >= 'A')
s1[i] += 32;
if(s1[i] != ' ')
s3 += s1[i]; //把s1赋值到s3上
}
for (int i = 0; i < s2len; i++)
{
if(s2[i] <= 'Z' && s2[i] >= 'A')
s2[i] += 32;
if(s2[i] != ' ')
s4 += s2[i];
}
if(s3 == s4)
cout << "YES" << endl;
else
cout << "NO" << endl;
return 0;
}
18
#include<iostream>
#include<cstring>
using namespace std;
int main ()
{
int next[205];
int s1len, s2len , s3len, s4len;
string s1, s2, s3 ,s4;
getline(cin,s1);
getline(cin,s2);
s1len = s1.length();
s2len = s2.length();
if(s1len < s2len)
{
s3 = s1;
s4 = s2;
s3len = s1len;
s4len = s2len;
}
else
{
s3 = s2;
s4 = s1;
s3len = s2len;
s4len = s1len;
}
int k = -1;
int j = 0;
next[0] = -1;
next[1] = 0;
while (j < s3len)
{
if(k == -1 || s3[j] == s3[k])
{
j++;
k++;
next[j] = k;
}
else
k = next[k];
}
j = 0;
int i = 0;
while(i < s4len && j < s3len)
{
if( j == -1 || s3[j] == s4[i])
{
i++;
j++;
}
else if(j != -1 && s3[j] != s4[i])
j = next[j];
}
if(j == s3len)
cout << s3 << " is substring of " << s4 << endl;
else
cout << "No substring" << endl;
}
19
#include<iostream>
#include<cstring>
using namespace std;
int main ()
{
int next[205];
int s1len, s2len , s3len, s4len;
string s1, s2, s3 ,s4;
cin >> s1 >> s2;
s1len = s1.length();
s2len = s2.length();
if(s1len < s2len)
{
s3 = s1;
s4 = s2 + s2;
s3len = s1len;
s4len = s2len * 2;
}
else
{
s3 = s2;
s4 = s1 + s1;
s3len = s2len;
s4len = s1len * 2;
}
int k = -1;
int j = 0;
next[0] = -1;
next[1] = 0;
while (j < s3len)
{
if(k == -1 || s3[j] == s3[k])
{
j++;
k++;
next[j] = k;
}
else
k = next[k];
}
j = 0;
int i = 0;
while(i < s4len && j < s3len)
{
if( j == -1 || s3[j] == s4[i])
{
i++;
j++;
}
else if(j != -1 && s3[j] != s4[i])
j = next[j];
}
if(j == s3len)
cout << "true" << endl;
else
cout << "false" << endl;
}
20
#include<iostream>
#include<cstring>
using namespace std;
int main ()
{
string world;
cin >> world;
int len = world.length();
int i = len - 1;
if(len > 2 && world[i] == 'r' && world[i-1] == 'e')
len = len - 2;
else if(len > 3 && world[i] == 'g' && world[i-1] == 'n' && world [i - 2] == 'i')
len = len - 3;
else if( len > 2 && world[i] == 'y' && world[i-1] == 'l')
len = len - 2;
else
len = len ;
for( i = 0 ; i < len ; i++)
cout << world[i] ;
cout << endl;
}