C语言编程
Qingziyuan
这个作者很懒,什么都没留下…
展开
-
输出所有水仙花数
水仙花数:100 - 1000 内的数,个位上的数的三次方+十位上的数的三次方+百位上的数的三次方,和等于这个数。void main(){int a,b,c = 0;int num = 0;for(num = 100;num<1000;num++){a = num / 10 / 10;b = (num - a*10*10) / 10;c = num%10;if(num ==...原创 2018-03-16 09:47:25 · 1113 阅读 · 0 评论 -
冒泡排序
冒泡排序:实现步骤:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。做完一轮对比后,最后一个数为最大数。针对所有的元素重复以上的步骤,已选出的最大数除外。比较完后会在剩余的数中找到最大的数。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。C语言实现:#include<stdio.h>void so...原创 2018-05-24 10:37:41 · 246 阅读 · 0 评论 -
将一个数组逆序放在原来的数组中
将一个数组逆序放在原来的数组中:思路:将数组逆序就是把array[0] 和array[len-1]位置互换,array[1]和array[len-2]互换...直到array[len/2]才停止交换,这样使用的交换次数为len/2次。然后将这个数组顺序打印出来。#include <stdio.h>int arrayswi(int array[],int len){ int n =...原创 2018-03-23 10:40:59 · 2129 阅读 · 0 评论 -
输入任意一个整数,把这个数倒叙输出
输入任意一个整数,把这个数倒叙输出比如:输入123456789,输出987654321#include <stdio.h>int swi(int n){ int a = 0; int b = 0; while(n>=10) { a = n%10; n = n/10; b = (b+a)*10; } return b+n;}void main(){...原创 2018-03-23 09:47:12 · 6130 阅读 · 0 评论 -
求一个数n的阶乘
做这道题之前,首先要知道什么是阶乘?阶乘:阶乘是所有小于等于这个数的积。比如:5的阶乘 -- 5!=5*4*3*2*1n 的阶乘 :n = 1*2*3*...*n其中有一个特殊的数的阶乘:0!=1到这里,应该已经对阶乘有一定了解了,现在用C语言来实现n的阶乘。#include <stdio.h>int jiecheng(int n){ if(n == 0) return 1;...原创 2018-03-22 16:47:32 · 1880 阅读 · 0 评论 -
二叉树遍历
二叉树遍历方法有三种:先根遍历、中根遍历、后跟遍历。遍历方法:判断二叉树是否存在,如果存在,判断左孩子是否存在,如果存在,把左孩子作为参数传入,继续调用;判断右孩子是否存在,如果存在,把右孩子作为参数传入。区别:先根遍历在遍历左右孩子之前打印节点数据,中根遍历在遍历完左孩子之后打印节点数据,后根遍历在遍历完右孩子之后打印节点数据。void traverse(Tree tree){if(Tree...原创 2018-03-16 10:20:44 · 187 阅读 · 0 评论 -
字符拼接
把两个字符串拼接为一个字符串:先遍历第一个字符串,第一个字符串遍历完之后,遍历第二个字符串,但要把第二个字符串从记录第一个字符串后面记录,最后添加字符串结束标志'\0'。char cat(char str1[],char str2[]){int i,j;for (i=0;str1[i]!='\0';i++);for (j=0;str2[j]!='\0';j++){str1[i]=str...原创 2018-03-16 10:07:30 · 347 阅读 · 0 评论 -
二分查找法
用二分法查找某个数:int search(int array[],int len,int value){ int begin = 0; int end = len - 1; int middle; while(begin<end) { middle = (begin+end)/2; if(value>array[middle]) begin = middle+...原创 2018-03-16 09:50:38 · 195 阅读 · 0 评论 -
斐波那契数列
斐波那契数列:1,1,2,3,5,8,13,21......前两个数相加等于第三个数。实现输出n个数:f(n) = f(n-1) + f(n-2)int feibonaqi(int n){if(n < 0){return -1;}else if(0 == n){return 0;}else if(1 == n){return 1;}elsereturn feib...原创 2018-03-16 09:49:08 · 651 阅读 · 0 评论 -
快速排序
快速排序:算法实现步骤:1、先找一个基数(一般将数列第一个数作为基数);2、将比基数大的数放在这个数右边,小的放在左边;3、以这个基数的位置划分左右区间,重复第二步,直到每个区间只有一个数。C语言实现:void quicksort(int array[],int begin,int end){ int i,j,temp; temp = a[begin];i = begin; j = en...原创 2018-05-24 15:39:03 · 267 阅读 · 0 评论