问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言数字加密

发布网友 发布时间:2022-04-25 09:48

我来回答

3个回答

热心网友 时间:2023-12-02 03:29

/*
输入1个四位数,将其加密后输出。

方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例:括号内是说明
输入
1257
输出
The encrypted number is 4621(每一位上的数字加9除以10取余后,得0146,交换后得到4601)

*/

#include <stdio.h>
int main( )
{
int number, digit1, digit2, digit3, digit4, newnum;

scanf("%d", &number);

digit1 = number/1000;
digit2 = (number - 1000 * digit1)/100;
digit3 = (number - 1000 * digit1 - 100 * digit2)/10;
digit4 = number - 1000 * digit1 - 100 * digit2 - 10 * digit3;

digit1 += 9;
digit1 %= 10;
digit2 += 9;
digit2 %= 10;
digit3 += 9;
digit3 %= 10;
digit4 += 9;
digit4 %= 10;
//第三位数是1的情况不做考虑

newnum = digit3 * 1000 + digit4 * 100 + digit1 * 10 +digit2;

printf("The encrypted number is %d\n", newnum);

return 0;
}

热心网友 时间:2023-12-02 03:29

/*
程序填空,不要改变与输入输出有关的语句。
输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例:括号内是说明
输入
1257
输出
The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
*/

#include <stdio.h>
int main( )
{
int number, digit1, digit2, digit3, digit4, newnum;

scanf("%d", &number);
digit1 = number % 10;
number /= 10;
digit2 = number % 10;
number /= 10;
digit3 = number % 10;
number /= 10;
digit4 = number % 10;
number /= 10;
digit1 = (digit1 + 9) % 10;
digit2 = (digit2 + 9) % 10;
digit3 = (digit3 + 9) % 10;
digit4 = (digit4 + 9) % 10;

// 将第1位和第3位上的数字互换
number = digit1;
digit1 = digit3;
digit3 = number;
//第2位和第4位上的数字互换
number = digit2;
digit2 = digit4;
digit4 = number;

newnum = digit4 * 1000 + digit3 * 100 + digit2 * 10 + digit1;

/*---------*/
printf("The encrypted number is %d\n", newnum);
}

热心网友 时间:2023-12-02 03:30

#include
void
main()
{
int
a[5];
/*
存储各位上的数字
*/
int
num,
temp,
encripy;
/*
num是要输入的数,temp是交换时用来存储临时值,encripy是加密后的数据
*/
int
i;
do
{
printf("please
input
the
number:");
scanf("%d",&num);
if(!(num/10000
!=0
&&
num/100000==0))
printf("data
error!\n");
}while(!(num/10000
!=0
&&
num/100000==0));
a[0]
=
num/10000%10;
/*
求各位上的数字
*/
a[1]
=
num/1000%10;
a[2]
=
num/100%10;
/*
百位上的数字
*/
a[3]
=
num/10%10;
/*
十位上的数字
*/
a[4]
=
num%10;
/*
个位上的数字
*/
for(i
=
0;
i
<
5;
++i)
/*
开始加密
*/
a[i]
=
(a[i]
+
8)%10;
temp
=
a[0];
/*
交换位置开始
*/
a[0]
=
a[3];
a[3]
=
temp;
temp
=
a[1];
a[1]
=
a[2];
a[2]
=
temp;
/*
交换位置结束同时加密结束
*/
encripy
=
a[0]*10000
+
a[1]*1000
+
a[2]*100
+
a[3]*10
+
a[4];
/*
加密后的数据
*/
printf("\nthe
scourse
number:
%d\n",
num);
/*
输出原数据
*/
printf("\nencripy
the
number:
%d\n\n",
encripy);
/*
输出加密后的数据
*/
}
在vc6.0成功运行,希望对你有帮助!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问信用卡暂未批准是什么意思 短发搭配什么帽子能吸睛?get下文各种短发的搭配攻略 入门智能机vivoy200t怎么样? 直短发配什么帽子好看 老狗狗为什么总低头 脚跟骨裂做了手术还装了钢板,请问要多长时间才能恢复。 脚跟粉碎性骨折术后多久能走路 脚跟骨折多久可以正常走路 如图,AD是∠BAC的平分线,点E在AB上,且AE=AC,EF ∥ BC交AC于点F.试说明... 如图,AD是角BAC的平分线,点E在AB上,且AE=AC,EF//BC交AC于点F.求证:EC... 哪里专业做物联网软件开发,工控软件开发 物联网专业毕业后都能干什么,与程序员关联大吗? 物联网应用程序是用什么语言来开发的? 我有一套智能家具,想开发APP来控制,属于物联网开发吗?得怎么开发? 一个物联网手机app软件开发需要多少钱 物联网开发的主要编程语言有哪些 如何做一个合格的物联网程序员? 什么是物联网应用软件开发 物联网软件开发需要掌握哪些技术? 老婆生孩子老公的生育险能报销吗 男女双方均缴纳生育报销,可以由男方申领生育津贴吗?? 生孩子男女双方的生育险都可以报吗? 男女都有生育险可以同时报销吗 生育险可以男女同报吗 有人睡觉爱打呼噜是怎么回事? 请问腹式呼吸时吸气时是提肛还是呼气时提肛,且舌尖顶上颚是前边的硬颚还是后边的软颚 陶玉玲呼呼吸有氧运动 打呼噜问题 什么叫海氏发音法? 声母、韵母、单韵母、复韵母、前鼻音、后鼻音、谁知道给我说谢谢!!! 对纯数字加密有什么好的办法 数字加密资产是什么 数字加密解密 数字对讲机是怎么加密? 请问C#有什么算法可以将数字加密,而且得到的结果还是数字 浏览器QQ空间注销怎么切换账号? qq空间申请关闭切换账号怎么切换。用手机 QQ空间关闭页面,登录过一次后如何换另一个号码再次登录? QQ空间如何切换账号呢? 手机关闭qq空间怎么换qq号 手机QQ空间怎么退出换登另一个号?? 华为手机qq空间怎么切换另一个帐号? 北京UI界面培训机构哪家比较靠谱? UI设计师的工作内容是什么?在北京UI设计师薪资怎样? UI交互设计难么?需要做些什么? 怎样理解UI界面交互设计是什么意思 建行的app怎么下载 请问怎么从jpeg格式转换成mp4格式?谢谢! 怎么从jpeg格式转换成mp4格式 如何将jpg格式的文件转换成MP4或者其他视频格式,需要用什么软件告诉一下,谢谢