2025年ZJW系列之简单密码

ZJW系列之简单密码ZJW 系列之简单密码 近期校园 电信诈骗案 的一桩连着一桩的发生 让 ZJW 对自己的银行账户提了个心 为了防止这类事情发生在自己身上 决定给银行卡设计一个密码 可是 ZJW 却遇到这样的烦恼 如果为了好记用生日吧 容易被激活成功教程 不是很安全 如果设置不好记的密码

大家好,我是讯享网,很高兴认识大家。

ZJW系列之简单密码

近期校园“电信诈骗案”的一桩连着一桩的发生,让ZJW对自己的银行账户提了个心,为了防止这类事情发生在自己身上,决定给银行卡设计一个密码,可是ZJW却遇到这样的烦恼:如果为了好记用生日吧,容易被激活成功教程,不是很安全;如果设置不好记的密码,又担心自己会忘记;如果写在纸上呢?又怕纸被人发现或者弄丢……

在一番绞尽脑汁之后,ZJW自己设计了一个程序,这个程序的任务就是将一串拼音字母转换为6位数字(密码)。

ZJW可以使用任何好记的拼音串(比如名字,钟佳闱,就写:zhongjiawei)作为输入,最后输出6位数字。

程序变换过程如下: 第一步:把拼音串6个一组折叠起来,比如zhongjiawei则变为: zhongj iawei

第二步:把所有垂直在同一位置的字符的ascll码值相加,得出6个数字,如上面的例子,则得出:


讯享网

227 201 230 211 208 106

第三步:对每个数字处理,就是把每个位的数字相加,得出的如果不是一个一位数,那么继续处理,直到变成一位。 例如:227 => 2+2+7=11 => 1+1=2

经过以上三步之后,得到的密码为:。这就是ZJW最后的银行卡密码
输入格式:
第一行输入一个T(0 < T < 100),表示测试数据组数 每组数据占一行,代表给定的拼音串,长度不超过20,保证都是小写英文
输出格式:
ZJW最后的银行卡密码,一组数据占一行
在这里插入图片描述

在这里插入代码片 

讯享网

#include <stdio.h>
int add(int number)
{
int num = 0;
for(;number>0;number = number/10)
{
num = num + number%10;
}
return num;
}
int deal(char *nums)
{
int i,number[6];
for(i=0;i<6;i++)
{
number[i] = 0;
}
for(i=0;nums[i] != ‘\0’;i++)
{
number[i%6] = nums[i] + number[i%6];
}
for(i=0;i<6;i++)
{
while(number[i]>9)
{
number[i] = add(number[i]);
}
}
printf("%d%d%d%d%d%d\n",number[0],number[1],number[2],number[3],number[4],number[5]);
return 0;
}
int main()
{
char nums[21];
int i,n;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
gets(nums);
deal(nums);
}
return 0;
}

小讯
上一篇 2025-03-30 23:13
下一篇 2025-01-27 20:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/54514.html