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

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");
    }
    
    已采纳该答案
    打赏 评论

相关推荐 更多相似问题