小王子

聆听小王子,守望成长,静待花开

小王

描述

给定一个字符串,将其中所有的小写字母转换成大写字母。

输入

输入一行,包含一个字符串(长度不超过100,可能包含空格)。

输出

输出转换后的字符串。

样例输入

helloworld123Ha

样例输出

HELLOWORLD123HA

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    char a[9999];
    int i = 0;
    cin.getline(a,80);
    for(int i = 0;a[i];i++)
    {
        if(a[i] >= 'a'&&a[i] <= 'z')
            a[i] -= 32;
    }
    cout << a;
    return 0;
}
3年前 (02月16日)
小王

描述

小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。
在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。
经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子)
1. 原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz)
2. 逆序存储(abcd -> dcba )
3. 大小写反转(abXY -> ABxy)

输入

一个加密的字符串。(长度小于50且只包含大小写字母)

输出

输出解密后的字符串。

样例输入

GSOOWFASOq

样例输出

Trvdizrrvj

题解

cpp

#include <cstdio>
#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
    string a;
    char b;
    int c = 0;
    getline(cin,a);
    c = a.size();
    for(int i = 0;i < c;i++) 
    { 
        b = a[i]; 
        if(a[i] >= 'a' && a[i] <= 'z') 
        { 
            b += 3; 
            if(b > 'z')
                b -= 26;
            b -= 32;
        }
        if(a[i] >= 'A' && a[i] <= 'Z') 
        { 
            b += 3; 
            if(b > 'Z')
                b -= 26;
            b += 32;
        }
        a[i] = b;
    }
    for(int i = c - 1;i >= 0;i--)
        cout << a[i];
    return 0;
}
3年前 (02月15日)
小王

描述

在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。

输入

输入一行,包含一个字符串,长度小于80个字符。

输出

输出每行字符串的加密字符串。

样例输入

Hello! How are you!

样例输出

Ifmmp! Ipx bsf zpv!

题解

cpp

#include <cstring>
#include <iostream>
using namespace std;
int main()
{
    char b[999] = "";
    cin.getline(b,80);
    for(int i = 0;i != strlen(b);i++)
    {
        if(b[i] >= 'a' && b[i] <= 'y' || b[i] >= 'A' && b[i] <= 'Y')
            b[i]++;
        else if (b[i] == 'z')
            b[i] = 'a';
        else if (b[i] == 'Z')
            b[i] = 'A';
    }
    cout << b << endl;
    return 0;
}
3年前 (02月15日)
小王

描述

脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。

输入

一个字符串,表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。字符串长度不超过255。

输出

一个只含有大写字母A、T、G、C的字符串,为与输入的碱基链互补的碱基链。

样例输入

ATATGGATGGTGTTTGGCTCTG

样例输出

TATACCTACCACAAACCGAGAC

题解

cpp

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
int main()
{
    char a[9999];
    int b = 0,c = 0;
    cin >> a;
    b = strlen(a);
    for (int i = 0;i < b;i++)
    {
        if (a[i] == 'T')
            a[i] = 'A';
        else if (a[i] == 'A')
            a[i] = 'T';
        else if (a[i] == 'G')
            a[i] = 'C';
        else if (a[i] == 'C')
            a[i] = 'G';
    }
    cout << a;
    return 0;
}
3年前 (02月14日)
小王

描述

编写程序,求给定字符串s的亲朋字符串s1。

亲朋字符串s1定义如下:给定字符串s的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符; 给定字符串s的第二个字符的ASCII值加第三个字符的ASCII值,得到第二个亲朋字符;依此类推,直到给定字符串s的倒数第二个字符。亲朋字符串的最 后一个字符由给定字符串s的最后一个字符ASCII值加s的第一个字符的ASCII值。

输入

输入一行,一个长度大于等于2,小于等于100的字符串。字符串中每个字符的ASCII值不大于63。

输出

输出一行,为变换后的亲朋字符串。输入保证变换后的字符串只有一行。

样例输入

1234

样例输出

cege

题解

cpp

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
int main()
{
    char a[9999];
    int b = 0,c = 0;
    cin.getline(a,200);
    c = a[0];
    b = strlen(a);
    for (int i = 0,j = 1;i < b;i++,j++)
        a[i] = a[i] + a[j];
    a[b - 1] += c;
    cout << a;
    return 0;
}
3年前 (02月13日)
小王

描述

石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。

游戏规则:石头打剪刀,布包石头,剪刀剪布。

现在,需要你写一个程序来判断石头剪子布游戏的结果。

输入

输入包括N+1行:
第一行是一个整数N,表示一共进行了N次游戏。1 <= N <= 100。
接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布):
S1 S2
字符串之间以空格隔开S1,S2只可能取值在{“Rock”, “Scissors”, “Paper”}(大小写敏感)中。

输出

输出包括N行,每一行对应一个胜利者(Player1或者Player2),或者游戏出现平局,则输出Tie。

样例输入

3
Rock Scissors
Paper Paper
Rock Paper

样例输出

Player1
Tie
Player2

提示

Rock是石头,Scissors是剪刀,Paper是布。

题解

cpp

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
    int n;
    char a[999],b[999];
    cin >> n;
    for(int i = 0;i < n;i++) 
    { 
        cin >> a >> b;
        if(a[0]=='R' && b[0]=='S' || a[0]=='S' && b[0]=='P' ||a[0]=='P' && b[0]=='R')
            cout<<"Player1"<<endl;
        else if(a[0]==b[0])
            cout<<"Tie"<<endl;
        else
            cout<<"Player2"<<endl;
    }
    return 0;
}
3年前 (02月12日)
小王

描述

输入一行字符,统计出其中数字字符的个数。

输入

一行字符串,总长度不超过255。

输出

输出为1行,输出字符串里面数字字符的个数。

样例输入

Peking University is set up at 1898.

样例输出

4

题解

cpp

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
int main()
{
    char a[9999];
    int b = 0,c = 0;
    cin.getline(a,300);
    b = strlen(a);
    for (int i = 0;i < b;i++) 
    { 
        if (a[i] >= '0' && a[i] <= '9')
            c++;
    }
    cout << c;
    return 0;
}
3年前 (02月11日)
小王

描述

为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。
现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。

输入

有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。

输出

若两条DNA序列相关,则输出“yes”,否则输出“no”。

样例输入

0.85
ATCGCCGTAAGTAACGGTTTTAAATAGGCC
ATCGCCGGAAGTAACGGTCTTAAATAGGCC

样例输出

yes

题解

cpp

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
int main()
{
    double b = 0,s = 0,e = 0;
    char a[999],c[999];
    cin >> e;
    cin >> a >> c;
    b = strlen(a);
    for (int i = 0;i < b;i++) 
    {
        if (a[i] == c[i]) 
            s++; 
    } 
    if (s / b >= e)
        cout << "yes";
    else
        cout << "no";
    return 0;
}
3年前 (02月11日)