字串中数字个数
题目描述: 输入一行字符,统计出其中数字字符的个数。 输入 一行字符串,总长度不超过255。 输出 输出为1行,输出字符串里面数字字符的个数。
输入复制
Hi!Hello!123
输出复制
3
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[110];
cin.getline(a,110);
int l=strlen(a);
int cnt=0;
for(int i=0;i<l;i++)
{
if(a[i]>=48&&a[i]<=57)
{
cnt++;
}
}
cout<<cnt;
return 0;
}
第一个只出现一次的字符
题目描述: 输入一行字符,输出只出现了一次的字符。 输入 一行字符串,总长度不超过255。 输出 输出为1行,输出字符串里面第一个只出现一次的字符。 样例
输入复制
assdsssacfsb
输出复制
d
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[1100];
int cnt[1100]={0};
char cnt2[1100]={'\0'};
cin>>a;
int l=strlen(a);
for(int i=0;i<l;i++)
{
bool f=true;
for(int j=0;j<l;j++)
{
if(a[i]==cnt2[j])
{
cnt[j]++;
f=false;
break;
}
}
if(f==true)
{
cnt2[i]=a[i];
cnt[i]++;
}
}
for(int i=0;i<l;i++)
{
if(cnt[i]==1)
{
cout<<cnt2[i];
return 0;
}
}
return 0;
}
所有只出现一次的字符
题目描述: 输入一行字符,输出只出现了一次的字符。 输入 一行字符串,总长度不超过255。 输出 输出为1行,输出字符串里面只出现一次的字符(按照字典序输出)。 样例
输入复制
pqssdsqdabc
输出复制
abcp
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[1100];
int cnt[1100]={0};
char cnt2[1100]={'\0'};
cin>>a;
int l=strlen(a);
for(int i=0;i<l;i++)
{
bool f=true;
for(int j=0;j<l;j++)
{
if(a[i]==cnt2[j])
{
cnt[j]++;
f=false;
break;
}
}
if(f==true)
{
cnt2[i]=a[i];
cnt[i]++;
}
}
for(int i=0;i<l;i++)
{
if(cnt[i]==1)
{
cout<<cnt2[i];
}
}
return 0;
}
凯撒密码
题目描述:凯撒密码(Caesar)加密时会将明文中的 每个字母 都按照其在字母表中的顺序向后(或向前)移动固 定数目(循环移动)作为密文。例如,当偏移量是左移 3 的时候(解密时的密钥就是 3): 注意:a=0,b=1,。。。,z=25
ABCDEFGHIJKLMNOPQRSTUVWXYZ(明文字母表)
DEFGHIJKLMNOPQRSTUVWXYZABC(密文字母表)(上下对照使用)
输入 一行字符串,总长度不超过255。 输出 加密后的字符串. 样例
输入复制
HIJKLMNOPQ
输出复制
KLMNOPQRST
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[1100];
cin>>a;
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]=='A')
{
a[i]='X';
}
else if(a[i]=='B')
{
a[i]='Y';
}
else if(a[i]=='C')
{
a[i]='Z';
}
else
{
a[i]=a[i]+3;
}
}
cout<<a;
return 0;
}
字符解密 题目描述 Julius Caesar曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样 就得到了密文。比如字符A用F来代替。如下是密文和明文中字符的对应关系。
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (密文)
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U(明文)
你的任务是对给定的密文进行解密得到明文。 你需要注意的是,密文中出现的字母都是大写字母。密文中也包括非字母的字符,对这些字符不用进行解码。 输入 一行,给出密文,密文不为空,而且其中的字符数不超过200。 输出 输出一行,即密文对应的明文。 样例
输入复制
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
输出复制
IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[1100];
cin.getline(a,1100);
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]=='A')
{
a[i]='V';
}
else if(a[i]=='B')
{
a[i]='W';
}
else if(a[i]=='C')
{
a[i]='X';
}
else if(a[i]=='D')
{
a[i]='Y';
}
else if(a[i]=='E')
{
a[i]='Z';
}
else if(a[i]>=65&&a[i]<=90)
{
a[i]=a[i]-5;
}
}
cout<<a;
return 0;
}
加密的病历单
题目描述: 小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。在药房实习期间,小英扎实的专业基础 获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被 加密过的一些伤员的名单。 经过研究,小英发现了如下加密规律:(括号中是一个“原文 -> 密文”的例子)
1. 原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz)
2. 逆序存储(abcd -> dcba )
3. 大小写反转(abXY -> ABxy)
输入 一个加密的字符串。(长度小于50且只包含大小写字母) 输出 输出解密后的字符串。
输入复制
VJx
输出复制
Amy
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[1100];
cin.getline(a,1100);
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]=='X')
{
a[i]='A';
}
else if(a[i]=='Y')
{
a[i]='B';
}
else if(a[i]=='Z')
{
a[i]='C';
}
else if(a[i]=='x')
{
a[i]='a';
}
else if(a[i]=='y')
{
a[i]='b';
}
else if(a[i]=='z')
{
a[i]='c';
}
else
{
a[i]=a[i]+3;
}
}
char b[1100];
for(int i=0;i<l;i++)
{
b[i]=a[i];
}
int j=0;
for(int i=l-1;i>=0;i--)
{
a[j]=b[i];
j++;
}
for(int i=0;i<l;i++)
{
if(a[i]>=97&&a[i]<=122)
{
a[i]=a[i]-32;
}
else if(a[i]>=65&&a[i]<=90)
{
a[i]=a[i]+32;
}
}
cout<<a;
return 0;
}
字串中字母的个数
题目描述: 输入一行字符,统计出其中大写、小写字符的个数。 输入 一行字符串,总长度不超过255。 输出 输出为1行,输出字符串里面字母字符的个数。 样例
输入复制
Hello!I’m Amy!123
输出复制
10
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[110];
cin.getline(a,110);
int l=strlen(a);
int cnt=0;
for(int i=0;i<l;i++)
{
if(a[i]>=65&&a[i]<=90)
{
cnt++;
}
else if(a[i]>=97&&a[i]<=122)
{
cnt++;
}
}
cout<<cnt;
return 0;
}
字串单词的个数
题目描述: 输入一行字符,统计出其中有多少单词 输入 一行字符串,总长度不超过255。 输出 输出为1行,输出单词的个数(单词用空格隔开的,可能间隔多个空格) 。 样例
输入复制
haha wget it wow123
输出复制
4
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[110];
cin.getline(a,110);
int l=strlen(a);
int cnt=1;
for(int i=0;i<l;i++)
{
if(a[i]>='a'&&a[i]<='z'&&a[i-1]==' ')
{
cnt++;
}
else if(a[i]>='A'&&a[i]<='Z'&&a[i-1]==' ')
{
cnt++;
}
}
cout<<cnt;
return 0;
}
字符统计
题目描述: 输入一串小写字母(以‘.’为结束标志),统计出每个字母在该字符串中出现的次 数(若某字母不出现,则不要输出)。 要求:每行输出5项,每项以空格隔开。 输入 输入一行以'.'结束的字符串(字符串长度≤100) 输出 输出相应小写字母的个数。 样例
输入复制
aaaabbbccc.
输出复制
a:4 b:3 c:3
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[110]={'\0'};
cin.getline(a,110);
int cnt[130]={0};
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]=='.')
{
a[i]='\0';
break;
}
}
l=strlen(a);
for(int i=0;i<l;i++)
{
cnt[a[i]]++;
}
for(int i=97;i<=122;i++)
{
if(cnt[i]!=0)
{
cout<<(char)i;
cout<<":";
cout<<cnt[i];
}
}
return 0;
}
每个小写字母出现的次数
题目描述: 输入一串字符,统计出每个小写字母在该字符串中出现的次数(若某字母不出现,则不要输出)。 要求:每行输出5项,每项以空格隔开。 输入 输入一行以'.'结束的字符串(字符串长度≤100) 输出 输出相应小写字母的个数。 样例
输入复制
aaAASaDabbFbDc1c2c333.
输出复制
a:4 b:3 c:3
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[110]={'\0'};
cin.getline(a,110);
int cnt[130]={0};
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]=='.')
{
a[i]='\0';
break;
}
}
l=strlen(a);
for(int i=0;i<l;i++)
{
cnt[a[i]]++;
}
for(int i=97;i<=122;i++)
{
if(cnt[i]!=0)
{
cout<<(char)i;
cout<<":";
cout<<cnt[i];
}
}
return 0;
}
字符串加密
题目描述: 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足 以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一 个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则 可得到一个简单的加密字符串。 输入 输入一行,包含一个字符串,长度小于80个字符。 输出 输出每行字符串的加密字符串。 样例
输入复制
Hello! How are you!
输出复制
Ifmmp! Ipx bsf zpv!
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
char a[1100];
cin.getline(a,1100);
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]=='z')
{
a[i]='a';
}
else if(a[i]=='Z')
{
a[i]='A';
}
else if(a[i]>=65&&a[i]<=89)
{
a[i]=a[i]+1;
}
else if(a[i]>=97&&a[i]<=121)
{
a[i]=a[i]+1;
}
}
cout<<a;
return 0;
}