C语言题目:一些简单的编程和递归题目

以下的题目的较难的点都在注释里面讲解清楚了

一.

1.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)。

代码实现:

int main() {int money = 20;int price = 1;int exchange = 2;//2个空瓶子兑换一瓶水int total = 20;int empty = 20;while (empty >= exchange) {//剩余的空瓶子还足以兑换一瓶水才循环total = total + empty / exchange;//这里的empty / exchange是第一次产生的空瓶子数empty = empty / exchange + empty % exchange;//这里的empty / exchange是将上一次产生的空瓶子兑换成的饮料再转化为空瓶子,empty % exchange的作用是将剩余的瓶子(<2)计算到empty上。}printf("%d\n", total);return 0;
}

二.

2.用C语言在屏幕上输出以下图案:
在这里插入图片描述

代码实现

void Method(int line) {//下面的打印循环条件都是根据数字推出来的,就是找规律//打印上半部分for (int i = 0; i < line; i++) {//打印空格for (int j = 0; j < (line - 1 - i); j++) {printf(" ");}//打印*for (int j = 0; j < (2 * i + 1); j++) {printf("*");}printf("\n");}//打印下半部分for (int i = 0; i < line - 1; i++) {//打印空格for (int j = 0; j < i + 1; j++) {printf(" ");}//打印*for (int j = 0; j < 2 * (line - 1 - i) - 1; j++) {printf("*");}printf("\n");}
}
int main() {Method(7);return 0;
}

3.求出0~100000之间的所有“水仙花数”并输出。

“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=13+53+3^3,则153是一个“水仙花数”。

代码实现

#include<math.h>
void method(int i,int n) {//i是数字,n是位数int type = 0;int num_i = i;while (i > 0) {type += pow(i % 10, n);//依次取各位数字并求其n次方,再累加到type中i /= 10;}if (type == num_i) {printf("%d ", num_i);}
}int main() {for (int i = 0; i < 100000; i++) {int n = 0;int step = i;while (step > 0) {//如果使用i来算位数n,那么i的值最终会被置为0,所以使用变量存储i的值step /= 10;n++;}method(i, n);}return 0;
}

在这里插入图片描述

四.

求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,

例如:2+22+222+2222+22222

代码实现

//}
#include<math.h>
int main() {int num = 0;scanf("%d", &num);int result = 0;int type = 0;for (int i = 0; i < 5; i++) {type += num * pow(10, i);//type变量用以计算新的值result += type; //result 变量用以累加printf("%d", type);if (i < 4) {printf("+");}}printf("=%d\n", result);return 0;
}

在这里插入图片描述

编写一个函数实现n的k次方,使用递归实现。

代码实现


int method(int n, int k) {if (n == 0 && k == 0) {return 1;}else if (n == 0 && k != 0) {return 0;}else if (n != 0 && k == 0) {return 1;}else {return  n * method(n, k - 1);}
}
int main() {int n = 1, k = 1;scanf("%d%d", &n, &k);int ret = method(n, k);printf("%d\n", ret);return 0;
}

在这里插入图片描述

写一个递归函数,输入一个非负整数,返回组成它的数字之和

例如,调用函数,则应该返回1+7+2+9,它的和是19

输入:1729,输出:19

代码实现

int method(int num) {if (num == 0)return 0;int ret = num % 10;return ret + method(num / 10);
}int main() {int num;scanf("%d", &num);printf("%d\n", method(num));return 0;
}

在这里插入图片描述

/考研势在必行/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/687778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#,二进制数的非0位数统计(Bits Count)的算法与源代码

计算一个十进制数的二进制表示有多少位1&#xff1f; 1 遍历法&#xff08;递归或非递归&#xff09; 使用循环按位统计1的个数。 2 哈希查表法 利用一个数组或哈希生成一张表&#xff0c;存储不同二进制编码对应的值为1的二进制位数&#xff0c;那么在使用时&#xff0c;只…

(每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第10章 项目进度管理(五)

博主2023年11月通过了信息系统项目管理的考试&#xff0c;考试过程中发现考试的内容全部是教材中的内容&#xff0c;非常符合我学习的思路&#xff0c;因此博主想通过该平台把自己学习过程中的经验和教材博主认为重要的知识点分享给大家&#xff0c;希望更多的人能够通过考试&a…

控制程序执行流程

资源 资源下载 【免费】突破密码认证程序&#xff08;修改函数返回地址&#xff09;资源-CSDN文库 资源内容 源码 在上一篇文章里 修改函数返回地址-CSDN博客 流程 对程序进行编译 思路 了解栈的情况&#xff08;函数地址、缓冲区偏移量&#xff09;程序中密码认证的地…

SHERlocked93 的 2023 年终总结

工作之后感觉一年一年过的太快&#xff0c;没有个记录连回忆都无从回忆起&#xff0c;之前的年终总结&#xff1a; SHERlocked93 的 2022 年终总结SHERlocked93 的 2021 年终总结SHERlocked93 的 2020 年终总结SHERlocked93 的 2019 年终总结SHERlocked93 的 2018 年终总结SHER…

js设计模式:发布订阅模式

作用: 也称之为消息队列模式,或者pubsub模式 发布者发布消息(也可以理解为调用某函数),订阅者会收到消息,并且发布者可以将一些参数传递给订阅者。 是一种常用的参数传递方法,经典的pubsub.js,vue2中的$bus等都是用的这种模式。 示例: <!DOCTYPE html> <html lan…

模仿 STM32 驱动开发格式实验

1.模仿 STM32 寄存器定义 为了开发方便&#xff0c; ST 官方为 STM32F103 编写了一个叫做 stm32f10x.h 的文件&#xff0c;在这个文件 里面定义了 STM32F103 所有外设寄存器&#xff0c;我们可以使用其定义的寄存器来进行开发&#xff0c;比如我 们可以用如下代码来初始…

kube-ovn默认vpc

下面图是kube-ovn默认vpc的拓扑 默认vpc kube-ovn安装完成后会自带一个默认vpc是ovn-cluster&#xff0c;并且会在这个默认vpc下创建ovn-default子网、join子网&#xff0c; 默认子网 ovn-default是ovn-cluster下的默认子网&#xff0c;在创建pod时没有指定子网时会使用这个…

Python编程中的异常处理

什么是异常&#xff1f; 程序错误&#xff08;errors&#xff09;有时也被称为程序异常&#xff08;exceptions&#xff09;&#xff0c;这是每个编程人员都会经常遇到的问题。在过去&#xff0c;当遇到这类情况时&#xff0c;程序会终止执行并显示错误信息&#xff0c;通常是…

JAVA之Java线程核心详解

Java线程核心 1.进程和线程 进程&#xff1a;进程的本质是一个正在执行的程序&#xff0c;程序运行时系统会创建一个进程&#xff0c;并且给每个进程分配独立的内存地址空间保证每个进程地址不会相互干扰。同时&#xff0c;在 CPU 对进程做时间片的切换时&#xff0c;保证进程…

微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用

&#x1f3f7;️个人主页&#xff1a;鼠鼠我捏&#xff0c;要死了捏的主页 &#x1f3f7;️系列专栏&#xff1a;Golang全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&…

猫头虎博客分享:深入解析 Visual Studio Code 1.86 版本新特性

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

测试文章笔记-SQL3种优化方法

SQL语句优化&#xff1a; 本质&#xff1a;降低执行时间 **核心思路&#xff1a;**找到执行计划中开销较高的操作&#xff0c;改写SQL语句或改变表访问方式调整执行计划。 举例&#xff1a; 1.使用索引替代全表扫描&#xff08;索引&#xff1a;是帮助MysQL高效获取数据的数…

【JVM】打破双亲委派机制

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;JVM ⛺️稳中求进&#xff0c;晒太阳 打破双亲委派机制 打破双亲委派机制三种方法 自定义类加载器 ClassLoader包含了四个核心方法 //由类加载器子类实现&#xff0c;获取二进制数据调用…

MySQL之json数据操作

1 MySQL之JSON数据 总所周知&#xff0c;mysql5.7以上提供了一种新的字段格式json&#xff0c;大概是mysql想把非关系型和关系型数据库一口通吃&#xff0c;所以推出了这种非常好用的格式&#xff0c;这样&#xff0c;我们的很多基于mongoDB的业务都可以用mysql去实现了。当然…

NumPy模块完结篇:深入探讨和高效利用【第85篇—NumPy模块】

NumPy模块完结篇&#xff1a;深入探讨和高效利用 NumPy是Python中用于科学计算的核心库之一&#xff0c;提供了高性能的多维数组对象&#xff08;numpy.ndarray&#xff09;以及许多用于操作这些数组的函数。在前面的几篇博客中&#xff0c;我们介绍了NumPy的基础知识、数组操…

电子商务跨境电商大数据的关键技术之—主流电商大数据采集

大数据采集是指通过各种技术手段和工具收集、获取和提取大规模数据的过程。在信息时代&#xff0c;各种互联网、物联网、移动设备等的普及和应用&#xff0c;产生了海量的数据&#xff0c;这些数据被称为大数据。大数据采集就是对这些数据进行收集和抓取&#xff0c;以获得有意…

手把手一起开发SV4E-I3C设备(二)

JEDEC DDR5 SPD Hub Devices例程 DDR5生态系统的核心是SidebandBus Protocol 参考下图&#xff0c;可以将SV4E-I3C的端口1声明为主服务器(模拟主机控制器)&#xff0c;并且它可以属于SV4E-I3C上的一个总线。端口2可以作为SPD Hub DUT的Local Bus侧的从站连接。这个从站可以被…

12(S)-HETE ELISA kit--灵敏的ELISA试剂盒

灵敏的ELISA试剂盒&#xff0c;能够检测任何物种的培养上清液和血浆中的12(S)-HETE HETE是由脂氧合酶代谢花生四烯酸产生的副产物。12(S)-HETE是12(S)-氢过氧四烯酸&#xff08;12(S)-HpETE&#xff09;还原的立体特异性羟基产物&#xff0c;其本身是花生四烯酸的12-脂氧酶代谢…

23年秋招结束,同学们陆陆续续拿到心仪的offer!24年秋招出发!

续接上次上岸同学的分享&#xff1a;还在担心秋招吗&#xff1f;看看24届已上岸同学的经验分享&#xff01; 秋招的时间过程相同&#xff0c;但经历却各不相同。学历、专业似乎都影响着同学们的面试经历和感受。校招的面试毫无疑问学历的加持是巨大的优势&#xff0c;学历好会…

票房25亿!《热辣滚烫》的创造性模仿,普通人赚钱的落地方法

最近很火的电影《热辣滚烫》包含了我们很多普通人做点小事儿&#xff0c;赚点小钱非常落地的方法&#xff0c;叫做创造性模仿。 很多人说《热辣滚烫》是翻拍的日本《百元之恋》&#xff0c;知道这个有什么用&#xff1f;就证明贾玲不是那么优秀吗&#xff1f;对我们普通人想赚…