字符数组_加密的病历单

任务描述

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

输入格式:

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

输出格式:

输出解密后的字符串。

输入样例:

GSOOWFASOq

输出样例:

Trvdizrrvj

#include<stdio.h>
#include<string.h>
void zuo(char b[51])
{
    int len=strlen(b),i;
    for(i=0;i<len;i++)
    {
        int su=0;
        if(b[i]=='x')
        {
            b[i]='a';
            su++;
        }
        if(b[i]=='y')
        {
            b[i]='b';
            su++;
        }
        if(b[i]=='z')
        {
            b[i]='c';
            su++;
        }
        if(b[i]=='X')
        {
            b[i]='A';
            su++;
        }
        if(b[i]=='Y')
        {
            b[i]='B';
            su++;
        }
        if(b[i]=='Z')
        {
            b[i]='C';
            su++;
        }
        if(su==0)
        b[i]=b[i]+3;
        
    }
    

void ni(char b[51])
{
    int len=strlen(b),i;
    int p=len/2;
    for(i=0;i<p;i++)
    {
        char temp;
        temp=b[i];
        b[i]=b[len-1-i];
        b[len-1-i]=temp;
    }
}
void fan(char d[51])
{
    int len=strlen(d),i;
    for(i=0;i<len;i++)
    {
        int su;
        su=0;
        if(d[i]>='a'&&d[i]<='z')//小写 
        {
            d[i]=d[i]+('A'-'a');
            su++;
        }
    
        if(d[i]>='A'&&d[i]<='Z'&&su==0)
        {
            d[i]=d[i]-('A'-'a');
        }
    }    
    
}
int main()
{
    char a[51];
    if(scanf("%s",a)!=EOF);
    zuo(a);
    ni(a);
    fan(a);
    printf("%s",a);
    return 0;
}

这个不知道怎么改正

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值