zoukankan      html  css  js  c++  java
  • 蓝桥杯 密码发生器

    程序任务就是把遗传拼音字母转换为6位数字,我们可以使用任何好记的拼音串,变换过程如下,第一步,把字符串六个一组折叠起来,比如wangximing变为:

    Wangxi

    Ming

    第二步,把所有垂直在同一个位置的字符ascii码值想加,得出6个数字,如上面的例子,则得出228 202 220 206 120 105

    再把每个数字缩位处理,就是把每个位的数字相加,得出的数字如果不是一位数字,就在缩位,最后变为344836

    #include<stdio.h>
    #include<string.h>
    int check(int n){
        int sum=0;
        if(n<10)    return n; //当n是个位数的时候直接返回 
        while(n>0){  //加上n的各个位上的数字 
            sum+=n%10;
            n=n/10;
        }
        check(sum); //检查和是否为个位数,重复上面的操作 
    }
    //wangxi
    //ming
    void f(char a[]){
        int b[6]={0};  //创建一个新的数组,存入字符数组的和 
        for(int i=0;i<strlen(a);i++){
            b[i%6]+=a[i];   //新的数组循环加入新的字符 
        }
        for(int i=0;i<6;i++){
            printf("%d ",b[i]);
        }
        printf("
    ");
        for(int i=0;i<6;i++){
            printf("%d ",check(b[i]));
        }
    }
    int main(){
        char a[]={"wangximing"};
        f(a);
        return 0;
    }
  • 相关阅读:
    linux分区-df
    day34 协程
    day33 GIL锁 线程队列 线程池
    day32 线程
    day31 管道 进程池 数据共享
    day30 锁 队列
    day29 进程
    day28 socketserver
    day27 粘包及粘包的解决方案
    day26 网络通讯的整个流程
  • 原文地址:https://www.cnblogs.com/sky-z/p/4414943.html
Copyright © 2011-2022 走看看