c语言一些简单算法

1.将数组A中的内容和数组B中的内容进行交换。(数组一样大)

void swap(int *a, int *b)

{

int ten = 0;

ten =* a;

*a = *b;

*b = ten;

}

int main()

{

int tem = 0;

int arr1[4] = { 1, 2, 3, 4 };

int arr2[4] = { 5, 6, 7, 8 };

int i = 0;

for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]);i++)

{

swap(&arr1[i], &arr2[i]);

}

for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)

printf("%d ", arr1[i]);

printf("\n");

for (i = 0; i < sizeof(arr2) / sizeof(arr2[0]); i++)

printf("%d ", arr2[i]);

system("pause");

return 0;

}

2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。

#include <stdio.h>

#include<string.h>

#include <stdlib.h>

#include <math.h>

void fun(int value)

{

int count = 0;

int num = value;

while (num)

{

count++;

num = num >> 1;

}

while (count--)

{

num = value;

num = value >> count;

if (count % 2 != 0)

{

printf("偶数位:");

printf("%d ", num & 1);

}

else

{

printf("奇数位:");

printf("%d ", num & 1);

}

printf("\n");

}

}

void ba(int value)

{

int count = 0;

int num = value;

while (num)

{

count++;

num = num >> 1;

}

while (count--)

{

num = value;

num = value >> count;

if ((num & 1) == 1)

printf("%d", 1);

else

printf("%d", 0);

}

}

int main()

{

int a =10;

fun(a);

ba(a);

system("pause");

return 0;

}

3.将三个数按从大到小输出。

void swap(int *a, int *b, int *c)

{

int tem = 0;

if (*a < *b)

{

tem = *a;

*a = *b;

*b = tem;

}

if (*a < *c)

{

tem = *a;

*a = *c;

*c = *a;

}

if (*b < *c)

{

tem = *b;

*b = *c;

*c = tem;

}

}

int main()

{

int a = 10;

int b = 30;

int c = 5;

swap(&a, &b, &c);

printf("a=%d b=%d c=%d", a, b, c);

getchar();

return 0;

}

4.求两个数的最大公约数。

int main()

{

int a = 28;

int b = 24;

int count = 0;

if (a%b == 0)

count = b;

else if (b%a == 0)

count = a;

else

{

count = a%b;

while (count != 0)

{

a = b;

b = count;

count = a%b;

}

}

printf("%d", b);

system("pause");

return 0;

}

时间: 2024-08-29 03:29:05

c语言一些简单算法的相关文章

C语言实现FIFO算法与LRU算法

在操作系统中,当程序在运行过程中,若其所要访问的页面不再内存中而需要把他们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存调出一页程序或数据送磁盘的兑换区中.但哪一个页面调出,须根据一定的算法确定.通常,把选择换出页面的算法称为页面置换算法(Page-Replacement Algorithms).置换算法的好坏将直接影响到系统的性能. 1) 先进先出(FIFO)页面置换算法 该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰.该算法实现简单,只需

0.数据结构(python语言) 基本概念 算法的代价及度量!!!

先看思维导图: *思维导图有点简陋,本着循循渐进的思想,这小节的知识大多只做了解即可. *重点在于算法的代价及度量!!!查找资料务必弄清楚. 零.四个基本概念 问题:一个具体的需求 问题实例:针对问题(需求)的具体的例子 算法:解决问题的过程,是对一个计算过程的严格描述 程序:程序可以看作是采用计算装置能够处理的语言描述的算法 一.算法的5大性质 有穷性(算法描述的又穷性):算法必须用有限长的描述说清楚 能行性:算法的每一步都是可行的,也就是说,每一步都能通过执行有限次数完成 确定性:别人看了过

C语言版数据结构算法

C语言版数据结构算法 C语言数据结构具体算法 https://pan.baidu.com/s/19oLoEVqV1I4UxW7D7SlwnQ C语言数据结构演示软件 https://pan.baidu.com/s/1u8YW897MjJkoOfsbHuadFQ 在上一篇的FIFO中就是基于数据结构思维中的队列实现的,而基本的数据结构内容还有 算法效率分析.线性表.栈和队列.串.数组和广义表.树和二叉树.图.查表.排序.动态存储管理 上面两个链接就是<数据结构(C语言版)>严蔚敏教授严奶奶的书籍

图的所有简单算法实现

包括邻接链表.有向无向图.带权图.增删顶点和边.查找.连通.DFS和BFS等.这只是一个最初版本,有些复杂的算法还没有实现. package structure; //图的邻接链表的节点 public class GraphListNode { private int vertex;//图的顶点 private int weight;//边的权重 private boolean visited;//是否访问过 //带权重图的节点 public GraphListNode(int vertex,i

PHP语言基础简单整理

1.开始结束标记<? ... ?> 2.定义变量:$变量名 例: $str="锦清笋";不需要指明数据类型 3.输出语句:(1)echo "hello world!";---echo命令(2)print();输出语句,是函数,有返回值.输出成功返回1,失败返回0.(3) printf();格式化输出字符串.例:printf("%d,%f",12,12.3); (4)sprintf();格式化拼接字符串,不是输出语句,只能将字符串拼接.

Android技术10:Java与C语言之间简单数据的传递

由于C语言和Java语言之间很多类型不一致性,因此使用native时,需要数据类型转换.下面演示分别传递整型,字符串,整型数组,Java静态方法传递数据. 1.创建native方法 我们单独创建一个NativeClass类来存放native方法 1 package com.forsta.ndk; 2 3 public class NativeClass { 4 public native int add(int x,int y); 5 public native String showStrin

Linux 用C语言实现简单的shell(2)

不知不觉两周没有发文了,因为“一万美金的福特奖学金答辩”,ACM比赛,网络论文阅读和网络大作业一大堆事把时间冲散了,所以先写一篇博文补上之前一坑. 之前发了一篇关于linux 用C语言实现简单shell的博文,当时因为刚刚接触linux,只是处理了: 1)外部命令 2)pwd,cd,exit内置命令 3)输入输出重定向 并且代码相比较而言是一步一步添加的,代码相对来讲比较丑QAQ,所以在学完管道之后,相信不得不重新写代码才能实现了. 相比较之前的版本我对代码进行了相关的修改: 1)对于shell

二、Java语言的简单认识及Hello World示例

1. Java语言的简单认识 (1) Java有三个版本: a. JAVA SE (以前称J2SE):Standard Environment 标准版本: b. JAVA EE (以前称J2EE):Enterprise Environment 企业版: c. JAVA ME (以前称J2ME):Eicro Environment 微型版; (2) Java的安装目录 在前一讲中,提到安装目录中有两个文件夹,分别是jdk1.7.0_45和jre7.在"jdk1.7.0_45"文件夹的bi

c语言:简单飞机射击小游戏

c语言:简单飞机射击小游戏 使用c语言编写一个打飞机小游戏,使用键盘按键来进行游戏,操作方法是"a""d""w"或者"←""↑""→"来控制攻击.左.右,击中敌机可获得积分,被敌机撞中死亡一次,每次游戏有3次机会,机会用光则游戏结束,之后可选择是否重新开始游戏. 改进:增加了颜色函数,使得游戏看起来更加的舒适:增加了终止函数,使游戏在死亡三次后自动结束游戏,并且可以选择是否重新开始游戏: