我想对数字做一个凯撒密码。 (在所有数字前加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;
}
答案 0 :(得分:4)
这是通用算法:
用C语言编写此算法是一项练习,您应该在学习过程中表现自己。跳过此练习,将使您变得更聪明。
答案 1 :(得分:1)
您必须首先遍历数字的每个数字。
然后,对于每个数字,将3加到数字上,并使用模10(% 10
)来仅检索数字的最后一位数字。
然后,您必须将每个数字连接在一起以构建您的凯撒加密字符串。