日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

历届试题 密码发生器

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 历届试题 密码发生器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在對銀行賬戶等重要權限設置密碼的時候,我們常常遇到這樣的煩惱:如果為了好記用生日吧,容易被破解,不安全;如果設置不好記的密碼,又擔心自己也會忘記;如果寫在紙上,擔心紙張被別人發現或弄丟了...

??? 這個程序的任務就是把一串拼音字母轉換為6位數字(密碼)。我們可以使用任何好記的拼音串(比如名字,王喜明,就寫:wangximing)作為輸入,程序輸出6位數字。

??? 變換的過程如下:

??? 第一步. 把字符串6個一組折疊起來,比如wangximing則變為:

??? wangxi

??? ming

??? 第二步. 把所有垂直在同一個位置的字符的ascii碼值相加,得出6個數字,如上面的例子,則得出:

??? 228 202 220 206 120 105

??? 第三步. 再把每個數字“縮位”處理:就是把每個位的數字相加,得出的數字如果不是一位數字,就再縮位,直到變成一位數字為止。例如: 228 => 2+2+8=12 => 1+2=3

??? 上面的數字縮位后變為:344836, 這就是程序最終的輸出結果!

??? 要求程序從標準輸入接收數據,在標準輸出上輸出結果。

??? 輸入格式為:第一行是一個整數n(<100),表示下邊有多少輸入行,接下來是n行字符串,就是等待變換的字符串。

??? 輸出格式為:n行變換后的6位密碼。

??? 例如,輸入:

5

zhangfeng

wangximing

jiujingfazi

woaibeijingtiananmen

haohaoxuexi

??? 則輸出:

772243

344836

297332

716652

875843

??? 注意:

??? 請仔細調試!您的程序只有能運行出正確結果的時候才有機會得分!???

??? 在評卷時使用的輸入數據與試卷中給出的實例數據可能是不同的。

?

1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 using namespace std; 5 int f(int n) 6 { 7 int z=0; 8 if(n/10==0) 9 return n; 10 while(n) 11 { 12 z+=n%10; 13 n/=10; 14 } 15 f(z); 16 } 17 int main() 18 { 19 int n; 20 int b[7]; 21 char s[1000]; 22 scanf("%d",&n); 23 for(int i=0;i<n;i++) 24 { 25 scanf("%s",s); 26 memset(b,0,sizeof(b)); 27 int len=strlen(s); 28 int a=len/6; 29 if(len%6!=0) 30 { 31 a++; 32 } 33 for(int j=0;j<6;j++) 34 { 35 for(int k=0;k<a;k++) 36 { 37 if(6*k+j>len) 38 b[j]+=0; 39 else 40 b[j]+=s[6*k+j]; 41 } 42 } 43 for(int j=0;j<6;j++) 44 { 45 b[j]=f(b[j]); 46 printf("%d",b[j]); 47 } 48 printf("\n"); 49 } 50 return 0; 51 }

?

轉載于:https://www.cnblogs.com/zeze/p/mimafashenqi.html

總結

以上是生活随笔為你收集整理的历届试题 密码发生器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。