c语言编常见算法,5个常见C语言算法

5个常见C语言算法

十进制转换为二进制的递归程序

字符串逆置的递归程序

整数数位反序,例如12345->54321

四舍五入程序(考虑正负数)

二分法查找的递归函数

#include

#include

#include

//十进制转换为二进制的递归程序

voidDecimalToBinary(int n)

{

if(n<=0)

{

printf("0"); return;

if(n==1)

{

printf("1"); return;

}

else

{

DecimalToBinary((int)n/2);

printf("%d",n%2);

return;

}

}

//字符串逆置的递归程序

voidInverseString(char *s,int n)

{

if(n<=1) return;

else

{

char ch;

ch= s[0];

s[0]= s[n-1];

s[n-1] = ch;

InverseString(s+1,n-2);

}

}

//整数数位反序12345->54321

intInverseIntBit(int n)

{

int sum = 0;

while(n)

{

sum = sum * 10 + n % 10;

n /= 10;

}

return sum;

}

//四舍五入程序(考虑正负数):

intRoundDouble(double d)

{

int sign = 0;

sign = (d>0)?1:-1;

double td = d + sign * 0.5;

return (int)td;

}

//二分法查找的递归函数

intBinarySearch(int key,int a[],int low,int high)

{

if(low>high) return 0;

int mid = (low+high)/2;

if(a[mid]>key) return BinarySearch(key,a,low+1,mid-1);

else if(a[mid]return BinarySearch(key,a,mid+1,high-1);

else return 1;

}

voidmain()

{

printf("/nDecimal To Binary(224) = ");

DecimalToBinary(224);

char a[27] = "abcdefghijklmnopqrstuvwxyz";

InverseString(a,26);//这里必须考虑后面的'/0'

printf("/nString Inverse(abcdefghijklmnopqrstuvwxyz) = %s/n",a);

int t = InverseIntBit(123456);

printf("/nInt Inverse 123456 = %d/n",t);

int rd1 = RoundDouble(1.4);

int rd2 = RoundDouble(1.5);

int rd3 = RoundDouble(-1.4);

int rd4 = RoundDouble(-1.5);

printf("/nround(1.4)=%d round(1.5)=%d round(-1.4)=%d round(-1.5)=%d/n",rd1,rd2,rd3,rd4);

int aa[10] = {0,1,2,3,4,5,6,7,8,9};

if(1==BinarySearch(7,aa,0,9)) printf("/nI Find 7 /n");

else printf("/nI Cannot Find 7/n");

if(1==BinarySearch(17,aa,0,9)) printf("/nI Find 17/n");

else printf("/nI Cannot Find 17/n");

getch();

}

结果:

310559a2cbfed3b183bc643795bf674d.png

{

printf("0"); return;

}

printf("0"); return;

}

}

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

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

相关文章

利用Kinect将投影变得可直接用手操控

Finally 总算是到了这一天了&#xff01;假期里算法想不出来&#xff0c;或者被BUG折磨得死去活来的时候&#xff0c;总是YY着什么时候能心情愉快地坐在电脑前写一篇项目总结&#xff0c;今天总算是抽出时间来总结一下这神奇的几个月。 现在回过头来看&#xff0c;上学期退出AC…

my-medium.cnf_您的手机如何打开medium.com-我将让门卫和图书管理员解释。

my-medium.cnfby Andrea Zanin由Andrea Zanin 您的手机如何打开medium.com-我将让门卫和图书管理员解释。 (How your phone opens medium.com — I’ll let a doorman and a librarian explain.) Hey did you notice what just happened? You clicked a link, and now here y…

springboot自动配置的原理_SpringBoot自动配置原理

SpringBoot的启动入口就是一个非常简单的run方法&#xff0c;这个run方法会加载一个应用所需要的所有资源和配置&#xff0c;最后启动应用。通过查看run方法的源码&#xff0c;我们发现&#xff0c;run方法首先启动了一个监听器&#xff0c;然后创建了一个应用上下文Configurab…

Django first lesson 环境搭建

pycharm ide集成开发环境 &#xff08;提高开发效率&#xff09; 解释器/编译器编辑器调试环境虚拟机连接 设置VirtualBox端口 操作1 操作2 点击号添加&#xff0c;名称为SSH&#xff0c;其中主机端口为物理机的端口&#xff0c;这里设置为1234&#xff0c;子系统端口为虚拟机的…

《Drupal实战》——3.3 使用Views创建列表

3.3 使用Views创建列表 我们接着讲解Views的设置&#xff0c;首先做一个简单的实例。 3.3.1 添加内容类型“站内公告” 添加一个内容类型“站内公告”&#xff0c;属性配置如表3-1所示。 为该内容类型设置Pathauto的模式news/[node:nid]&#xff0c;并且我们在这里将节点类型…

c语言函数编正切余切运算,浅谈正切函数与余切函数的应用

九年义务教育三年制初级中学“数学”课本中&#xff0c;对正切函数和余切函数的定义是这样下的&#xff1a;在&#xff32;&#xff54;&#xff21;&#xff22;&#xff23;中&#xff0c;∠&#xff23;&#xff1d;&#xff19;&#xff10;&#xff0c;&#xff41;&#…

wget命令下载文件

wget -r -N -l -k http://192.168.99.81:8000/solrhome/ 命令格式&#xff1a; wget [参数列表] [目标软件、网页的网址] -V,–version 显示软件版本号然后退出&#xff1b; -h,–help显示软件帮助信息&#xff1b; -e,–executeCOMMAND 执行一个 “.wgetrc”命令 -o,–output…

idea mybatis generator插件_SpringBoot+MyBatis+Druid整合demo

最近自己写了一个SpringBootMybatis(generator)druid的demo1. mybatisgenerator逆向工程生成代码1. pom文件pom文件添加如下内容&#xff0c;引入generator插件org.mybatis.generator mybatis-generator-maven-plugin 1.3.5 mysql …

vr格式视频价格_如何以100美元的价格打造自己的VR耳机

vr格式视频价格by Maxime Coutte马克西姆库特(Maxime Coutte) 如何以100美元的价格打造自己的VR耳机 (How you can build your own VR headset for $100) My name is Maxime Peroumal. I’m 16 and I built my own VR headset with my best friends, Jonas Ceccon and Gabriel…

python_装饰器

# 装饰器形成的过程 : 最简单的装饰器 有返回值得 有一个参数 万能参数# 装饰器的作用# 原则 &#xff1a;开放封闭原则# 语法糖&#xff1a;装饰函数名# 装饰器的固定模式 import time # time.time() # 获取当前时间 # time.sleep() # 等待 # 装饰带参数的装饰器 def timer…

欧洲的数据中心与美国的数据中心如何区分?

人会想到这意味着&#xff0c;在欧洲和北美的数据中心的设计基本上不会有大的差异。不过&#xff0c;一些小的差异是确实存在的。您可能想知道为什么你需要了解欧洲和北美的数据中心之间的差异&#xff0c;这对你的公司有帮助吗?一个设计团队往往能从另一个设计团队那里学到东…

老农过河

java老农过河问题解决 http://www.52pojie.cn/thread-550328-1-1.html http://bbs.itheima.com/thread-141470-1-1.html http://touch-2011.iteye.com/blog/1104628 转载于:https://www.cnblogs.com/wangjunwei/p/6032602.html

python isalnum函数_探究Python中isalnum()方法的使用

探究Python中isalnum()方法的使用 isalnum()方法检查判断字符串是否包含字母数字字符。 语法 以下是isalnum()方法的语法&#xff1a; str.isa1num() 参数 NA 返回值 如果字符串中的所有字符字母数字和至少有一个字符此方法返回 true&#xff0c;否则返回false。 例子 下面的例…

docker快速入门_Docker标签快速入门

docker快速入门by Shubheksha通过Shubheksha Docker标签快速入门 (A quick introduction to Docker tags) If you’ve worked with Docker even for a little while, I bet you’ve come across tags. They often look like “my_image_name:1” where the part after the col…

动态规划算法——最长上升子序列

今天我们要讲的是最长上升子序列&#xff08;LIS&#xff09;。【题目描述】给定N个数&#xff0c;求这N个数的最长上升子序列的长度。【样例输入】      【样例输出】7        42 5 3 4 1 7 6那么什么是最长上升子序列呢&#xff1f; 就是给你一个序列…

如何快速掌握一门新技术/语言/框架

IT行业中的企业特点是都属于知识密集型企业。这种企业的核心竞争力与员工的知识和技能密切相关。而如果你在企业中扮演的是工程师的角色的话&#xff0c;那么 你的核心竞争力就是IT相关的知识与技能的储备情况。而众所周知&#xff0c;IT行业是一个大量产生新知识的地方&#x…

c语言今天星期几问题,C语言输入今天星期几

满意答案迷茫03222015.07.24采纳率&#xff1a;55% 等级&#xff1a;9已帮助&#xff1a;665人123456789101112131415161718192021#include<stdio.h>int main(void){ enum weekday{ sun, mon, tue, wed, thu, fri, sat }; int n; printf("输入星期数(0-…

备忘录模式 详解

定义 在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个状态&#xff1b; 行为型模式 角色 发起人角色&#xff08;Originator&#xff09;&#xff1a;记录当前时刻的内部状态&#xff0c;负责定义哪些属于备份范围的状态&#xf…

dll oem证书导入工具_技术干货 | 恶意代码分析之反射型DLL注入

欢迎各位添加微信号&#xff1a;qinchang_198231 加入安全 交流群 和大佬们一起交流安全技术01技术概要这是一种允许攻击者从内存而非磁盘向指定进程注入DLL的技术&#xff0c;该技术比常规的DLL注入更为隐蔽&#xff0c;因为除了不需要磁盘上的实际DLL文件之外&#xff0c;它…

像程序员一样思考_如何像程序员一样思考-解决问题的经验教训

像程序员一样思考by Richard Reis理查德里斯(Richard Reis) 如何像程序员一样思考-解决问题的经验教训 (How to think like a programmer — lessons in problem solving) If you’re interested in programming, you may well have seen this quote before:如果您对编程感兴趣…