【趣学C语言和数据结构100例】

【趣学C语言和数据结构100例】

问题描述

  1. 利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来

  2. 给定一个不多于 5 位的正整数,要求: 1. 求它是几位数,2. 逆序打印出各位数字

  3. 一个 5 位数,判断它是不是回文数。

  4. 求不超过 n 位数,且由 0-7 所能组成的奇数个数。

  5. 一个偶数总能表示为两个素数之和,即把一个偶数分解成两个素数。

代码分析

26.递归的使用
分析:之前提到过递归在与定义func,并在func中使用func,和递归的结束条件。相当于一个栈。先进后出。调用func,并传入参数5,只要n>1,那么就进行输入读取,并func(4),直到n=1时,进行返回,并输出。
所以大体为如下:

func(n){定义字符串if(n<=1){输入最后一次输出最后一次}else{输入第1次递归调用n-2输出第1//先调用到最后一步,然后输出}}

27.递归的深度即使用
分析:之前提到过递归在与定义func,并在func中使用func,和递归的结束条件。它是几位数,即递归的深度可以定义全局变量,在每次递归时进行计数。逆序打印,可参考26。本题采用直接除计算深度。逆序打印数字则采用%。

28.判断是不是回文数
分析:如 12321 是回文数,个位与万位相同,十位与千位相同。即:找到个位和万位,十位与千位进行比较。直接采用/和%进行计算即可。

29.由 0-7 所能组成的奇数个数
找规律:
1.最后一位为奇数1357 ,4种
2.如果n为2位数,则74 7是因为首数字不能为0
3.如果n为3位数,则7
8*4

30.偶数分解成两个素数
难点:判断一个数是否是素数
写一个函数Isprimer,则可以Isprimer(n) && (x-n)来进行偶数分解成两个素数
判断一个数是否是素数
写一个for循环,到sqrt(n),即平方根,如果n%i存在=0的情况则直接返回0,如果没有,则返回1。

代码实现

#include <stdio.h>void func(int n){char next;if(n<=1){next =getchar();printf("输出相反结果为:");putchar(next);}else{next=getchar();func(n-1);putchar(next);}
}
//	判断一个数是否是素数
int Isprimer(int n){for(int i=2;i<=sqrt(n);i++){if(n%i==0)return 0;}return 1;
}int main()
{
//	26.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来int i=5; printf("输入递5个以内字符:"); func(i);//	27.给定一个不多于5位的正整数,要求:1.求它是几位数,2.逆序打印出各位数字int n,sum=0,temp;printf("输入不多于5位的正整数:");scanf("%d",&n);temp=n;for(int i=0;i<5;i++){if(n!=0){sum++;n /= 10;}}printf("它是%d位数\n",sum);printf("逆序打印数字:");while (temp != 0) {printf("%d ", temp % 10); 	// 打印最后一位数字temp /= 10; 	// 去掉最后一位数字}printf("\n");//	28.一个5位数,判断它是不是回文数。
//	如 12321 是回文数,个位与万位相同,十位与千位相同int a,b,c,d,e,f,x;printf("输入5位的正整数:");scanf("%d",&x);a=x/10000;b=x%10000/10;c=x%10000/100;d=x%10000/10;e=x%10;if(e==a && b==d){printf("这个数是回文数");}else{printf("这个数不是回文数");}//	29.求不超过n位数,且由 0-7 所能组成的奇数个数。 
//	思路:
//	1.最后一位为奇数1357 ,4种
//	2.如果2位数,则7*4   7是因为首数字不能为0
//	3.如果3位数,则7*8*4printf("输求不超过n(n>=2)位数,且由 0-7 所能组成的奇数个数。\n");long s=4,sum=0,n;printf("输入n位数的n:");scanf("%d",&n);for(int i=2;i<=n;i++){if(i==2){s *= 7;}else{s *= 8;}sum += s;}printf("不超过8位数,且由 0-7 所能组成的奇数个数为%ld个。",sum);//	30.一个偶数总能表示为两个素数之和,即把一个偶数分解成两个素数。
//		解析:重点在于要学会函数:判断一个数是否是素数int n,i;do{printf("输入偶数:");scanf("%d",&n);}while(n%2!=0);for(i=1;i<n;i++){if(Isprimer(i)&&Isprimer(n-i)){break; }}printf("输入偶数%d解成两个素数%d和%d。",n,i,n-i);return 0;
}

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

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

相关文章

GPU泡沫破灭前夜

GPU泡沫破灭前夜 GPU(图形处理器)是近年来快速发展的领域&#xff0c;因为GPU能够加速计算机图形的处理速度&#xff0c;使得计算机游戏和视频渲染变得更加高效和流畅。然而&#xff0c;GPU泡沫破灭前夜&#xff0c;这种繁荣景象已经变得不太真实。 GPU市场的繁荣始于2010年&…

网站分享丨UU在线工具

在日常的工作、学习和生活中&#xff0c;我们常常会遇到各种各样需要借助工具来解决的问题。今天就给大家介绍一个功能强大、涵盖众多实用工具的在线平台 ——UU 在线工具。 一、丰富多样的工具分类 1.文档处理类&#xff1a; PDF 工具&#xff1a;提供了 PDF 转 Word、PDF 合…

IDEA中文乱码�

这篇文章网上到处都是&#xff0c;但我写作的初衷是为了更好地审视自己的作品&#xff0c;并通过不断的总结与反思来提升自我。 文章目录 前言原因分析解决方案一、设置字体为支持中文的字体二、设置字符编码为 UTF-8三、修改 IDEA 配置文件&#xff0c;让其支持中文编码第一种…

资讯 | 财富通科技政务协同办公管理软件通过麒麟软件适配认证

2024年9月25日&#xff0c;财富通科技研发的政务协同办公管理软件成功通过中国国产操作系统麒麟软件的适配认证。本次认证是继公司区块链产品“基于区块链的企业及人员资质数字证书服务平台”认证以后得第二次认证。这一成就标志着财富通科技在推动国产软件生态建设方面迈出了坚…

Java项目-基于springboot框架的广场舞团系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

【无标题】如何使用yolo-v8 实现自定义目标检测

如何使用yolo-v8 实现自定义目标检测 训练数据集准备搭建环境安装anaconda配置python虚拟环境安装yolo-v8以及labelimg图片标注工具 编写配置文件和训练脚本文件编写yaml配置文件(文件名为dataset.yaml)编写模型训练代码&#xff08;文件名称为yolotrain.py&#xff09;运行训练…

Debug-029-el-table实现自动滚动分批请求数据

前情提要 最近做了一个小优化&#xff0c;还是关于展示大屏方面的。大屏中使用el-table展示列表数据&#xff0c;最初的方案是将数据全部返回&#xff0c;确实随着数据变多有性能问题&#xff0c;有时请求时间比较长。这里做的优化就是实现列表的滚动到距离底部一定高度时再次请…

计算机网络基本命令

实验内容&#xff1a; 1. **ipconfig命令** - **用途**&#xff1a;显示和配置TCP/IP网络设置。 - **常用选项**&#xff1a; - ipconfig&#xff1a;显示所有网络适配器的IP地址、子网掩码、默认网关等信息。 - ipconfig /all&#xff1a;显示所有网络适配器…

【网络安全】-vulnhub靶场-noob

1.靶机下载&#xff1a; https://www.vulnhub.com/entry/noob-1,746/ 得到ova文件导入虚拟机&#xff0c;并打开虚拟机设置&#xff0c;将靶机-Noob与攻击机-kali的网络适配器都改成NAT仅主机模式&#xff0c;确保两台虚拟机在同一网段上。 2.靶机-Noob ip 判断 命令&#x…

nvidia-smi命令输出的含义

nvidia-smi命令输出的含义 基本输出信息![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f3c26a8a882a4df7bb761d3cb4c92ea6.png)GPU 状态信息其他信息高级功能和命令动态显示gpu运行情况 nvidia-smi&#xff08;NVIDIA System Management Interface&#xff09;是一个…

xlnt如何修改excel内容

xlnt是一个现代C库&#xff0c;专为在内存中处理电子表格并支持XLSX文件的读写而设计。以下是对xlnt的详细使用说明及方法&#xff1a; 一、xlnt简介 官网地址&#xff1a;https://github.com/tfussell/xlnt功能特点&#xff1a;xlnt提供API来生成、读取Excel文件&#xff0c…

Hive优化:Hive的执行计划、分桶、MapJoin、数据倾斜

文章目录 1. hive的执行计划1.1 为什么使用EXPLAIN1.2 使用EXPLAIN的步骤1.3 EXPLAIN在什么场合使用 2. 分桶2.1 为什么要使用分桶 3. Map Join3.1 Map Join3.1.1 大小表关联3.1.2 不等连接 3.2 Bucket-MapJoin3.2.1 作用3.2.2 条件 3.3 SMB Join3.3.1 作用 4. 数据倾斜4.1 表连…

GS-SLAM Dense Visual SLAM with 3D Gaussian Splatt 论文阅读

项目主页 2024 CVPR (highlight) https://gs-slam.github.io/ 摘要 本文提出了一种基于3D Gaussian Splatting方法的视觉同步定位与地图构建方法。 与最近采用神经隐式表达的SLAM方法相比&#xff0c;本文的方法利用实时可微分泼溅渲染管道&#xff0c;显著加速了地图优化和…

Lfsr32

首先分析 Lfsr5 首先要理解什么是抽头点&#xff08;tap&#xff09;&#xff0c;注意到图中有两个触发器的输入为前级输出与q[0]的异或&#xff0c;这些位置被称为 tap position.通过观察上图&#xff0c;所谓抽头点指的就是第5个&#xff0c;第3个寄存器的输入经过了异或逻辑…

Delphi数据字典TDictionary

在 Delphi 中&#xff0c;创建一个数据字典通常意味着使用一种结构来存储键值对。Delphi 没有内建的字典类型&#xff0c;但你可以使用 TStringList 从 Classes 单元作为一个简单的键值对存储&#xff0c;或者你可以使用更复杂的第三方容器&#xff0c;如 TDictionary 从 Gener…

修复jenkins SSH 免密登录发布服务器

SSH 免密登录配置和修复步骤&#xff1a; 1. 配置 SSH 免密登录 在本地主机执行以下命令&#xff0c;将公钥复制到目标服务器&#xff1a; ssh-copy-id bjpark172.27.xx.xx输入密码完成公钥传输。 2. 修复 SSH 免密登录失败的权限问题 如果免密登录失败&#xff0c;用root…

二叉树和度为二的有序树的区别

一、定义与结构 度为二的有序树&#xff1a; 在这种树结构中&#xff0c;每个节点最多有两个子节点。子节点的顺序是重要的&#xff0c;即使两个子节点的值相同&#xff0c;只要他们的位置不同&#xff0c;他们就被视为是不同的子节点。当一个节点只有一个子节点时&#xff0c;…

ArkUI自定义TabBar组件

在ArkUI中的Tabs&#xff0c;通过页签进行内容视图切换的容器组件&#xff0c;每个页签对应一个内容视图。其中内容是图TabContent作为Tabs的自组件&#xff0c;通过给TabContent设置tabBar属性来自定义导航栏样式。现在我们就根据UI设计的效果图来实现下图效果&#xff1a; 根…

【stm32】DMA的介绍与使用

DMA的介绍与使用 1、DMA简介2、存储器映像3、DMA框图4、DMA基本结构5、DMA请求6、数据宽度与对齐7、数据转运DMA&#xff08;存储器到存储器的数据转运&#xff09;程序编写&#xff1a; 8、ADC连续扫描模式DMA循环转运DMA配置&#xff1a;程序编写&#xff1a; 1、DMA简介 DM…

schurter舒特滤波器KFA系列4301有源设备滤波器

概述 KFA模块集成了以下四大主要功能&#xff1a; 1. IEC C14型设备插座&#xff0c;符合IEC 60320-1标准。 2. 适用于5 x 20毫米保险丝的单极或双极保险丝座。 3. 适用于标准和医疗应用的滤波器。 4. 可选的电压选择器&#xff08;步进开关&#xff09;。 此模块提供三种安装…