簡體   English   中英

C中數字的凱撒密碼

[英]Caesar cipher for numbers in C

我想為數字制作凱撒密碼。 (所有數字加3)

輸入:52 輸出:85

輸入:954 輸出:287

輸入:-10457 輸出:-43780

如果有人幫助我,我會很高興。


我試過了,但是當我輸入小於 5 位的數字時,它輸出 3 到開頭


當我輸入 52 它輸出 33385

#include<stdio.h>
#include<stdlib.h>

int main() {

int number,operation;

printf("Enter the number: ");
scanf("%d",&number);

printf("%d", ((number/10000)+3)%10);
printf("%d", (((number % 10000)/1000)+3)%10);
printf("%d", (((number % 1000)/100)+3)%10);
printf("%d", (((number % 100)/10)+3)%10);
printf("%d\n", ((number % 10)+3)%10);

printf("press 1 to continue or 2 for exit.");
scanf("%d",&operation);

switch(operation) {
    case 1:
            printf("Enter the number: ");
scanf("%d",&number);

printf("%d", ((number/10000)+3)%10);
printf("%d", (((number % 10000)/1000)+3)%10);
printf("%d", (((number % 1000)/100)+3)%10);
printf("%d", (((number % 100)/10)+3)%10);
printf("%d\n", ((number % 10)+3)%10);


        break;


    case 2:


        break;
}


return 0;

}

下面是通用算法:

  • 將 ASCII 中的數字寫入緩沖區,
  • 迭代緩沖區中的字符,
  • 對於每個角色,
    • 如果是數字,加3,
    • 如果生成的 ASCII 碼大於 '9',則減去 10

用 C 編寫這個算法是你應該在你的教育過程中自己進行的一項練習。 跳過這個練習,會阻止你變得更聰明。

您必須首先遍歷數字的每個數字。
然后,對於每個數字,將 3 添加到數字並使用模 10 ( % 10 ) 僅檢索您的數字的最后一位數字。
然后,您必須將每個數字連接在一起以構建凱撒加密​​的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM