只要把每個字母或符號以鍵盤上它左邊第二個鍵的符號來取代就行了。
空白和換行請直接輸出。
1.先建立對比用字串
2.輸入字串
3.先將大寫轉小寫
4.再逐一與比對用字串作轉換(空白直接輸出)
5.輸出
#include <iostream>
#include <string>
using namespace std;
int main()
{
string c=" `1234567890-=qwertyuiop[]asdfghjkl;'zxcvbnm,./";
//建立比對用的字串,先按空白鍵,之後從鍵盤左邊按到右邊就對了。
string s;//要輸入的字串
while(getline(cin,s))//輸入
{
for(int i=0;i<s.length();i++)//開始一個一個比對
{
if(s[i]>='A'&&s[i]<='Z')
{
s[i]=s[i]+32; //先將大寫換成小寫
}
for(int t=0;t<c.length();t++)//逐一與比對用字串比對
{
if(s[i]==c[0])//空白鍵不用轉換
{
cout<<" ";
break;
}
else if(s[i]==c[t])
{
cout<<c[t-2];//輸出左邊兩個鍵盤的字
break;
}
}
}
cout<<endl;
}
return 0;
}
計算兩個相鄰的數的差的絕對值並且輸出出來
#include <iostream>
#include <set>
using namespace std;
int main(){
int num;
set <int> s;
set <int> ::iterator it;
while(cin>>num){
int a,b;
cin>>a;
for(int i=0;i<num-1;i++){
cin>>b;
if(abs(a-b)<num&&abs(a-b)) s.insert(abs(a-b));
a=b;
}
if(s.size()==num-1)cout<<"Jolly"<<endl;
else cout<<"Not jolly"<<endl;
s.clear();
}
}