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

news2025/1/25 9:25:39

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

一.

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.coloradmin.cn/o/1454236.html

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

相关文章

PyCharm 格式化代码 (Reformat Code)

PyCharm 格式化代码 [Reformat Code] 1. Ctrl A2. Code -> Reformat Code (自动调整代码格式 - 自动规范化代码)References 1. Ctrl A 全选代码。 2. Code -> Reformat Code (自动调整代码格式 - 自动规范化代码) 格式化快捷键为 Ctrl Alt L&#xff0c;但是和锁屏…

【Python】【Pycharm】Python Script头文件设置

1、步骤&#xff1a;File->settings->Editor->File and CodeTemplates->Python Script 2、复制粘贴以下代码&#xff0c;应用即可&#xff1a; #!/usr/bin/env python# -*- coding: utf-8 -*-# Time :${DATE} ${TIME}# Author : admin# Site :${SITE}# Fi…

docker (七)-部署容器

实战开始&#xff1a; 1 docker 部署 kafka 集群&#xff0c;并验证 参考 Docker搭建Kafka集群 优秀文档 2 docker 部署 mysql 参考上一篇docker(六) 3.docker 部署 zabbix 参考 docker部署zabbix 优秀文档 BUG&#xff1a;根据这篇文章部署后&#xff0c;发现zabbix-s…

git相关内容

一.git安装 该操作相信不用介绍了&#xff0c;为什么用yum&#xff0c;大家也是非常清楚的。 如果是root账户&#xff1a;yum -y install git 如果是普通账户&#xff1a; sudo yum -y install git 二.git和gitee/github区别 Git&#xff08;读音为/gɪt/&#xff09;是一个…

【以解决】Pyinstaller打包报错IndexError: tuple index out of range

问题 这个问题主要是在Python3.7以上的版本中遇到&#xff0c;用pyinstaller打包的时候发现报错 (pyinstallerEnv) D:\virtualEnv\pyinstallerEnv\Scripts>auto-py-to-exe pygame 2.5.2 (SDL 2.28.3, Python 3.10.0) Hello from the pygame community. https://www.pygame…

鸿蒙开发(七)添加常用控件(上)

开工大吉&#xff01;相信大家已经对鸿蒙开发的布局有了基本的了解。之前我们提到过&#xff0c;一个好的UI&#xff0c;离不开选择合理的布局。当然&#xff0c;也离不开适当的控件。本篇文章&#xff0c;带着大家一起学习下如何在页面里面添加常用的控件。由于控件较多&#…

【开源】JAVA+Vue.js实现城市桥梁道路管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询城市桥梁4.2 新增城市桥梁4.3 编辑城市桥梁4.4 删除城市桥梁4.5 查询单个城市桥梁 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的城市桥梁道路管理系统&#xff0c;支持…

Python编程中的异常处理

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

纪念自己挖到的第一个CNVD证书

前言 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 做了那…

高级编程(2)

今天主要讲一下这四个函数接口&#xff1a;fwrite、fread、fprintf、fsancf以及流的定位&#xff1a;ftell、rewind、fseek 函数接口 fwrite fwrite: size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); 功能: 向流中写入number个对象,每个对象…

java 课程签到管理系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 课程签到管理系统是一套完善的java web信息管理系统 采用serlvetdaobean&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0…

【漏洞复现】蓝网科技临床浏览系统信息泄露漏洞

Nx01 产品简介 蓝网科技临床浏览系统是一个专门用于医疗行业的软件系统&#xff0c;主要用于医生、护士和其他医疗专业人员在临床工作中进行信息浏览、查询和管理。 Nx02 漏洞描述 蓝网科技临床浏览系统存在信息泄露漏洞&#xff0c;攻击者可以利用该漏洞获取敏感信息。 Nx03…

C++初阶:容器适配器介绍、stack和queue常用接口详解及模拟实现

介绍完了list类的相关内容后&#xff1a;C初阶&#xff1a;适合新手的手撕list&#xff08;模拟实现list&#xff09; 接下来进入新的篇章&#xff0c;stack和queue的介绍以及模拟&#xff1a; 文章目录 1.stack的初步介绍2.stack的使用3.queue的初步介绍4.queue的使用5.容器适…

简洁高效的短链接:优化互联网体验

title: 简洁高效的短链接&#xff1a;优化互联网体验 date: 2024/2/18 13:24:24 updated: 2024/2/18 13:24:24 tags: 短链接长网址缩短美观简洁分享优化点击率提升数据统计用户体验 在互联网时代&#xff0c;我们经常遇到需要分享长网址的情况。长网址不仅不美观&#xff0c;而…

java面试微服务篇

目录 目录 SpringCloud Spring Cloud 的5大组件 服务注册 Eureka Nacos Eureka和Nacos的对比 负载均衡 负载均衡流程 Ribbon负载均衡策略 自定义负载均衡策略 熔断、降级 服务雪崩 服务降级 服务熔断 服务监控 为什么需要监控 服务监控的组件 skywalking 业务…

图解支付文件网关:文件交互的底座

在上一篇《图解支付报文网关&#xff1a;一种低代码报文网关的设计思路与核心代码实现》&#xff0c;我们深入讨论了报文网关的设计与实现&#xff0c;今天和大家聊聊文件网关的设计与实现。 在这篇文章中&#xff0c;你可以了解到文件网关的作用&#xff0c;什么情况下文件网…

stable diffusion webui学习总结(2):技巧汇总

一、脸部修复&#xff1a;解决在低分辨率下&#xff0c;脸部生成异常的问题 勾选ADetailer&#xff0c;会在生成图片后&#xff0c;用更高的分辨率&#xff0c;对于脸部重新生成一遍 二、高清放大&#xff1a;低分辨率照片提升到高分辨率&#xff0c;并丰富内容细节 1、先通过…

多线程---线程同步,线程通信

线程同步 1.概述 线程同步是多线程编程中的一个重要概念&#xff0c;它指的是在多线程环境中&#xff0c;通过一定的机制保证多个线程按照某种特定的方式正确、有序地执行。这主要是为了避免并发问题&#xff0c;如死锁、竞态条件、资源争用等&#xff0c;确保数据的一致性和完…

超强!中科院1区算法改进!改进雪融优化GVSAO-CNN-BiGRU-Attention融合注意力机制预测程序代码!直接运行!

适用平台&#xff1a;Matlab2023版及以上 雪消融优化算法&#xff08;Snow Ablation Optimizer&#xff0c;SAO&#xff09;&#xff0c;于2023年6月发表在SCI、中科院1区顶级期刊《Expert Systems With Applications》上。该算法刚刚提出&#xff0c;目前还没有套用这个算法的…

【Java EE初阶十七】网络原理(二)

2. 传输层 2.2 TCP协议 2.2.2 关于可靠传输 4.滑动窗口 前面的三个机制&#xff0c;都是在保证 tcp 的可靠性&#xff1b; TCP 的可靠传输,是会影响传输的效率的.(多出了一些等待 ack 的时间,单位时间内能传输的数据就少了)&#xff1b; 滑动窗口,就让可靠传输对性能的影响,更…