c语言金老板有个保险箱,存放着他各地收集来的宝石。他很害怕别人知道了他的密码后,盗取他的财宝,所以定制了一个有“智慧”的密码箱。每次开锁的密码都不相同,但是金老板每次都能准确开锁。 原来这个保险箱的密码是遵从某种规律变换的。每次开锁时保险箱会根据原始密码产生一个数字,用这个数字与原始密码生成一个新密码。规则如下: (1)数字是原始密码的所有数字之和,若超过9,则只保留个位数; (2)原始密码的每一位加上这个新产生的数,就是新密码; (2)如果加上后的数超过9,则只保留个位数; 譬如原始密码为7314,产生的数是5,每一位密码加5,所以新密码就是2869。 请编写一个程序,算出下一次的密码。

时间: 2024-02-20 14:56:16 浏览: 14
好的,下面是一个示例代码: ```c #include <stdio.h> int main() { int password, sum = 0, temp; printf("请输入原始密码:"); scanf("%d", &password); // 计算原始密码的数字之和 temp = password; while (temp > 0) { sum += temp % 10; temp /= 10; } sum %= 10; // 生成新密码 int newPassword = 0; for (int i = 1; password > 0; i *= 10) { int digit = password % 10; digit = (digit + sum) % 10; newPassword += digit * i; password /= 10; } // 输出新密码 printf("下一次的密码为:%d\n", newPassword); return 0; } ``` 这个程序先读取原始密码,然后计算出原始密码的数字之和,再根据规则生成新密码。需要注意的是,这里用到了取模运算 `%` 来保留个位数,以及一个 `for` 循环来逐位处理密码。
相关问题

使用c语言编写金老板有个保险箱,存放着他各地收集来的宝石。他很害怕别人知道了他的密码后,盗取他的财宝,所以定制了一个有“智慧”的密码箱。每次开锁的密码都不相同,但是金老板每次都能准确开锁。 原来这个保险箱的密码是遵从某种规律变换的。每次开锁时保险箱会根据原始密码产生一个数字,用这个数字与原始密码生成一个新密码。规则如下: (1)数字是原始密码的所有数字之和,若超过9,则只保留个位数; (2)原始密码的每一位加上这个新产生的数,就是新密码; (2)如果加上后的数超过9,则只保留个位数; 譬如原始密码为7314,产生的数是5,每一位密码加5,所以新密码就是2869。 请编写一个程序,算出下一次的密码。

以下是使用C语言编写的程序: ```c #include <stdio.h> int main() { char password[5]; int sum = 0; printf("请输入原始密码:\n"); scanf("%s", password); for (int i = 0; i < 4; i++) { sum += password[i] - '0'; // 将字符转化为数字 } int next_password[4]; for (int i = 0; i < 4; i++) { next_password[i] = (password[i] - '0' + sum) % 10; // 计算下一次的密码 } printf("下一次的密码是:"); for (int i = 0; i < 4; i++) { printf("%d", next_password[i]); } printf("\n"); return 0; } ``` 程序运行后,会提示用户输入原始密码,然后计算出下一次的密码并输出。

用C语言写密码箱,题目是金老板有个保险箱,存放着他各地收集来的宝石。他很害怕别人知道了他的密码后,盗取他的财宝,所以定制了一个有“智慧”的密码箱。每次开锁的密码都不相同,但是金老板每次都能准确开锁。 原来这个保险箱的密码是遵从某种规律变换的。每次开锁时保险箱会根据原始密码产生一个数字,用这个数字与原始密码生成一个新密码。规则如下: (1)数字是原始密码的所有数字之和,若超过9,则只保留个位数; (2)原始密码的每一位加上这个新产生的数,就是新密码; (2)如果加上后的数超过9,则只保留个位数; 譬如原始密码为7314,产生的数是5,每一位密码加5,所以新密码就是2869。 请编写一个程序,算出下一次的密码。

好的,以下是用C语言编写的智慧密码箱程序: ```c #include <stdio.h> int main() { int origin_pwd, new_pwd, next_pwd, sum = 0; printf("请输入原始密码:"); scanf("%d", &origin_pwd); // 计算原始密码的数字之和 int tmp = origin_pwd; while (tmp != 0) { sum += tmp % 10; tmp /= 10; } sum %= 10; // 只保留个位数 // 生成新密码 new_pwd = 0; for (int i = 0; i < 4; i++) { int digit = origin_pwd % 10; // 取出原始密码的每一位 digit += sum; // 加上数字之和 digit %= 10; // 只保留个位数 new_pwd = new_pwd * 10 + digit; // 组合成新密码 origin_pwd /= 10; // 原始密码右移一位 } // 计算下一次的密码 sum = 0; tmp = new_pwd; while (tmp != 0) { sum += tmp % 10; tmp /= 10; } sum %= 10; next_pwd = 0; for (int i = 0; i < 4; i++) { int digit = new_pwd % 10; digit += sum; digit %= 10; next_pwd = next_pwd * 10 + digit; new_pwd /= 10; } printf("下一次的密码是:%d\n", next_pwd); return 0; } ``` 程序中,首先要读入原始密码,然后计算数字之和,生成新密码,计算下一次的密码。最后输出下一次的密码。 程序中用到了循环、条件判断、取模、整数运算等知识点,是一个较为基础的C语言程序。

相关推荐

最新推荐

recommend-type

C语言实现输入一个字符串后打印出该字符串中字符的所有排列

主要介绍了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,是数学中非常实用的排列算法,需要的朋友可以参考下
recommend-type

在C语言中输入一个大写字母,将其转变成一个小写字母,并且有相应的提示。

1.学习简单的C语言编程
recommend-type

c语言float类型小数点后位数

在本篇文章里小编给大家整理了关于c语言float类型小数点后面有几位的相关知识点,需要的朋友们可以学习下。
recommend-type

C语言参数个数可变函数详解

exec*()系列函数,用于在程序中执行外部文件(main(int argc,char*argv[])算不算呢,与其说main()也是一个可变参数函数,倒不如说它是exec*()经过封装后的具备特殊功能和意义的函数,至少在原理这一级上有很多相似之...
recommend-type

用C语言实现从文本文件中读取数据后进行排序的功能

是一个十分可靠的程序,这个程序的查错能力非常强悍。程序包含了文件操作,归并排序和字符串输入等多种技术。对大家学习C语言很有帮助,有需要的一起来看看。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。