qq_51352031 2021-07-21 17:48 采纳率: 85.7%
浏览 240
已采纳

C语言,字符串加密问题

输入一个原始字符串(长度小于80),然后输入一个5位的数字字符串作为加密密钥,对原始字符串中的每个字符根据其位置(对5取模)变换为加上数字字符串中的数字的字符。如输入原始字符串student,然后输入5位的加密数字12345,因此:

原始字符 加密数字 变换后的字符
s 1 t
t 2 v
u 3 x
d 4 h
e 5 j
n 1 o
t 2 v
加密后的字符串位:tvxhjov

输入格式:
第一个输入一个原始字符串 第二行输入一个5位用来加密的数字字符串

输出格式:
加密后的字符串

输入样例1:
在这里给出一组输入。例如:

student
12345
输出样例1:
在这里给出相应的输出。例如:

tvxhjov
输入样例2:
在这里给出一组输入。例如:

Welcome to Java!
10932
输出样例2:
在这里给出相应的输出。例如:

Xeufqne)wq!Jjyc"

  • 写回答

1条回答 默认 最新

  • 广大菜鸟 2021-07-21 18:59
    关注

    img

    #include<stdio.h>
    #include<stdlib.h>
    
    int main(){
        char a[80],ch;
        int mark[5],inputNum;
        int j=0,add=0;
        
        while(scanf("%c",&ch)){
            if(ch=='\n') break;
            a[j]=ch;
            j+=1;
        }    
        scanf("%d",&inputNum);    
        for(int i=4;i>=0;i--){
            mark[i]=inputNum%10;
            inputNum/=10;
        }
        for(int i=0;i<j;i++){
            add=mark[i%5];
            printf("%c",(char)(a[i]+add));
        }
        system("pause");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 7月21日
  • 创建了问题 7月21日

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示