4 数字加密 (15分)——一维数组

本文探讨了一种数字加密方法,涉及对四位数的加密过程。首先,将每位数字加9后取余;接着,交换千位与十位,百位与个位。通过示例1257加密后得到4601,详细解析了实现步骤和错误规避,强调了思考和理解输入数据类型的重要性。
字节跳动校招内推码: C4BDSMC
投递链接: https://job.toutiao.com/s/J691fRK
内推交流QQ群:1049175720

think:
1晚上幸亏补题了,要不我的内心估计就留下阴影了,题目真的让我很受伤,明明说了输入一个四位数,呜呜呜,怎么会有前导0这组数据呢,天梯赛的时候自己将输入的数用一个变量存储,然后通过while循环分离出4位,然后通过整型数组存放,通过自己懒投机取巧发现的一个小规律,没思考运算后用一个变量存储输出了,今天晚上看到测试数据的类型后,自己终于明白哪里错了

测试点1 	答案正确 	9/9 	2 	1 	sample等价,转换中间有前导0
测试点2 	答案正确 	3/3 	1 	1 	输入有前导0
测试点3 	答案正确 	3/3 	2 	1 	输出有前导0

2反思:多思考

4 数字加密 (15分)

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

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

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

输入样例:
1257

输出样例:
The encrypted number is 4601

以下为答案正确代码

#include <stdio.h>
int main()
{
	int x, t;
	int a[14];
	while(scanf("%d", &x) != EOF)
	{
		a[0] = x/1000;
		a[1] = (x/100)%10;
		a[2] = (x/10)%10;
		a[3] = x%10;
		for(int i = 0; i 
实训案例34:学生成绩统计。——数组作为函数的参数一维数组中有10个学生成绩,编写3个自定义函数,使用数组作为函数的参数,当主函数调用这3个函数后,能够求出平均、最高与最低。实训案例35:函数实现凯撒加密。——字符数组作为函数的参数编写一个函数,实现凯撒加密,即将英文字母按照字母表的顺序循环后移3个位置。例如,“a”变成“d”, “A”变成“D”,“x”变成“a” ,“X”变成“A”,其它字符不变。在main函数中输入一串字符, 调用该函数,输出加密后的密文。实训案例36:猜年龄——函数的递归调用有5个人坐在一起。问第5个人多少岁,他说比第4个人大2岁。问第4个人多少岁,他说比第3个人大2岁。问第3个人多少岁,他说比第2个人大2岁。问第2个人多少岁,他说比第1个人大2岁。最后问第1个人,他说10岁。请问第5个人多大?实训案例37:数据交换——指针访问变量、指针变量作函数的参数编写一个函数,使用指针变量作函数的参数,我们使用指针变量指向两个整型变量,实现数据交换。在main函数中,输入两个整数,调用该函数,输出交换后的结果。实训案例38:数组中找最大值——通过指针访问数组输入10个整数,找出数组元素的最大值并输出。要求:(1)编写3个函数:①input函数:输入10个数,存入一维数组。②findMax函数:一维数组中找最大值并返回。③main函数:定义一个大小为10一维数组,调用前面2个函数,输出最大数。(2)使用指针变量作函数的参数,引用一维数组元素。
最新发布
10-29
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值