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…

华为OD机试真题- 攀登者2-2024年OD统一考试(C卷)

题目描述: 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。地图表示为一维数组,数组的索引代表水平位置,数组的高度代表相对海拔高度。其中数组元素0代表地面。例如[0,1,4,3,1,0,0,1,2,3,1,2,1,0], 代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5和8,9,1…

「优选算法刷题」:判定字符是否唯一

一、题目 实现一个算法&#xff0c;确定一个字符串 s 的所有字符是否全都不同。 示例 1&#xff1a; 输入: s "leetcode" 输出: false 示例 2&#xff1a; 输入: s "abc" 输出: true限制&#xff1a; 0 < len(s) < 100 s[i]仅包含小写字母 二…

控制程序执行流程

资源 资源下载 【免费】突破密码认证程序&#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;保证进程…

QT安装-多版本

下载下载器 Qt开发技巧之快速安装多版本Qt_qt安装多版本-CSDN博客 无法下载存档bug-更换镜像源 windows安装QT时出现“无法下载存档……”解决办法 - lmore - 博客园 (cnblogs.com)

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

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

探索ES6:JavaScript的下一代标准

文章目录 探索ES6&#xff1a;JavaScript的下一代标准1. let 和 const2. Arrow Functions&#xff08;箭头函数&#xff09;3. 模板字符串4. 解构赋值5. 类和模块 探索ES6&#xff1a;JavaScript的下一代标准 ES6&#xff0c;也称为ECMAScript 2015&#xff0c;是JavaScript的…

穿越网络迷雾:OSI网络层的全面探索与未来展望

1. 网络层的基本概念和功能 OSI&#xff08;开放式系统互连&#xff09;模型的网络层位于第三层&#xff0c;主要负责在多个网络间转发数据包&#xff0c;确保数据能够从源头到达目的地。网络层的基本功能包括&#xff1a; 路由选择 &#xff1a;确定数据从源到目的地的路径。…

猫头虎博客分享:深入解析 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的基础知识、数组操…