实验7-1-9 数字加密 (15 分)

本文介绍了一个简单的四位数加密方法,通过每位数字加9后取余并进行位置交换完成加密过程。文章提供了完整的C语言实现代码及运行结果。

输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。

输入格式:

输入在一行中给出一个四位的整数x,即要求被加密的数。

输出格式:

在一行中按照格式“The encrypted number is V”输出加密后得到的新数V。

代码

#include <stdio.h>
int main()
{
	int a,b,c,d;
	scanf("%d",&a);
	d=a%10;
	a/=10;
	c=a%10;
	a/=10;
	b=a%10;
	a/=10;
	a=(a+9)%10;
	b=(b+9)%10; 
	c=(c+9)%10;
	d=(d+9)%10;	
	a=1000*c+100*d+10*a+b;
	printf("The encrypted number is %04d",a);
	
}

运行结果

这个题目虽然看起来不难,但是最开始我感觉这个题好像可以不用数组就可以做出来,而且感觉定义数组还要有多的变量,比较麻烦,决定用4个简单的变量代替,代码写出来之后,发现那个输出有前导0始终做不到,之前找相关文章除了用数组,像我这种做法好像都无法解决这个问题,于是又来百度输出有前导0是什么意思,就将%d改为了%04d,成功!

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值