精华内容
下载资源
问答
  • 数据结构C语言算法、上机指导源程序及一些数据结构的实例
  • 欧几里德C语言算法

    2016-09-02 11:46:35
    欧几里德C语言算法
  • C语言算法之将十进制数转换成二进制数

    万次阅读 多人点赞 2018-06-20 14:35:29
    导语:在C语言中没有将其他进制的数直接输出为二进制数的工具或方法,输出为八进制数可以用%o,输出为十六进制可以用%x,输出为二进制就要我们自行解决了。下面给大家讲述一下如何编程实现将十进制数转换成二进制数...

    导语:在C语言中没有将其他进制的数直接输出为二进制数的工具或方法,输出为八进制数可以用%o,输出为十六进制可以用%x,输出为二进制就要我们自行解决了。下面给大家讲述一下如何编程实现将十进制数转换成二进制数。

     

    先将源代码展示给大家:

    #include <stdio.h>
    void main()
    {
        //进制转换函数的声明
        int transfer(int x);
        int x;
        printf("请输入一个十进制数:");
        scanf("%d",&x);
        printf("转换成二进制数是:%d\n",transfer(x));
    }
    int transfer(int x)
    {
        int p=1,y=0,yushu;
        while(1)
        {
            yushu=x%2;
            x/=2;
            y+=yushu*p;
            p*=10;
            if(x<2)
            {
                y+=x*p;
                break;
            }
        }
        return y;
    }

    具体算法体现在函数体内,使用了一个while(1)的死循环,当结果产生后跳出循环。变量yushu是每一次循环内产生的余数,变量x每次循环都会被赋予新的值,这个新的值就是每一次循环内产生的商。当产生的商小于2时即产生了最后的结果(二进制数),然后跳出循环。

    例如:函数自变量若为7,用自变量7除以2,得到第一次循环产生的余数为1,第一次循环产生的商为3;用第一次循环产生的商3除以2,得到第二次循环产生的余数为1,第二次循环产生的商为1。

    变量y的存放也是有一定技巧的,由于每次产生的余数都小于2并且都是最后二进制数中需要按位展现出来的,因此每一次循环产生的余数都要合理地进行存放。第一次产生的余数放在个位,第二次产生的余数放在十位,第三次产生的余数放在百位......依次类推,直至某一次循环产生的商小于2,最后再把小于2的那个商放在最高位。变量p的作用就是控制位数,变量y的初始值定为0,变量p的初始值定为1,每次循环内变量p都自乘10,每次循环内都让变量y加上yushu*p,这样就实现了余数的按位存放。最后将小于2的那个商乘以p加到变量y中,得到最后的二进制数。

    例如:还是以自变量7为例,第一次循环后y的值为1,第二次循环内if语句之前y的值为11,if语句内y的值变为111,111即为7的二进制数。

    注意:变量p的自乘要放在变量y加上yushu*p之后!顺序不能颠倒!

    欢迎大家关注/订阅我的微信公众号Code Art Online,我会在我的公众号分享个人见闻,发现生活趣味;这里不仅有0和1,还有是诗和远方↓↓↓

    展开全文
  • 数字信号讲解与C语言算法实现,可以直接下载使用。
  • 八皇后问题c语言算法

    千次阅读 多人点赞 2017-03-30 20:52:20
    八皇后问题c语言算法

    目录
    [TOC]

    问题分析:

      相信八皇后规则的问题,大家都很熟悉,接下来是如何分析回溯法的应用。回溯法与图里面的深度优先遍历非常的类似,就是,在满足题目条件时候,它总是优先选择第一个,当不满足的时候,它会选择接下来的一个点,通常会用遍历数组的方式。
      总体的代码构建如下

        void fun(n){
           if(总体条件){
             for(){
               fun(n+1);
           }
        }

    本问题分析:

      每次填满第一行第一列,当不满足时候,试下第一行第二列,依次进行,递归的出口为找到第八个点,跳出递归。,在循环里面还要判断是否满足不同行,不同列,不同对角线。  
      

    具体代码实现:

    #include<stdio.h>
    #include<math.h>
    int max=8,sum=0,a[8];
    void show(){  //显示每次成功后整个界面的坐标 
        for(int i=0;i<max;i++){
            printf("(%d,%d)\t",i,a[i]);
        }
        printf("\n");
    }
    int check(int n){
        for(int i=0;i<n;i++){  //这里只需要比较到已知就行 
            if(a[i]==a[n]||abs(a[n]-a[i])==(n-i))//这里比较关键,就是判断现在放下的皇后是否与之前 
              return 0  ;                         //放下的皇后有冲突(即不同列,不同对角线,因为之前有 
        }
        return 1;                                //之前有调用 eightQueen(n+1);                            //保证了不同行 
    }
    
    int eightQueen(int n){
        int i;
        if(n<max){
            for(i=0;i<max;i++){
                a[n]=i;
                if(check(n))
                  eightQueen(n+1);
            }
       }
       else{
          sum++;
          show();
       } 
    }
    
    
    
    int main(){
        eightQueen(0);  //从第零行开始 
        printf("%d",sum);
    }  

    Alt text
    总共有92种。

    结论:

      主要是找到递归的出口,当满足添加时候,执行递归,不满足时候,执行循环的下一步。 马走日问题也是类似的。

    展开全文
  • 矩阵相乘 C语言算法

    2020-07-30 09:50:52
    矩阵相乘 C语言算法 double a[2][3] = { {1,2,3}, {4,5,6} }; double b[3][2] = { { 7,8 }, { 9,10}, { 11,12} }; double c[2][2]; ab,满足a的列等于b的行,运行结果: c[2][2]={{58,64}, {139,154} }, //矩阵相乘...

    矩阵相乘 C语言算法
    double a[2][3] = { {1,2,3},
    {4,5,6}
    };
    double b[3][2] = { { 7,8 },
    { 9,10},
    { 11,12}
    };
    double c[2][2];
    ab,满足a的列等于b的行,运行结果:
    c[2][2]={{58,64},
    {139,154}
    },
    //矩阵相乘算法,最后四个参数是两个相乘的矩阵的行数和列数
    //f2=s1
    void MatrixMulti(double * left, double * right, double * result,u16 f1, u16 f2, u16 s1, u16 s2)
    {
    u16 i,j,p;
    //int a[f1][f2], b[s1][s2], c[f1][s2];
    //a[i][j]==a[i
    f2+j]
    //由矩阵相乘,要求f2=s1,以下用f2
    double m,n,mn;
    for (i = 0; i < f1; i++) //i表示第i行
    {
    for (j = 0; j < s2; j++) //j表示第j列
    {
    result[if2 + j] = 0; //在这里 result[i][j] = result[if2+j];
    for(p=0;p<f2;p++)
    {
    m=left[if2+p];
    n=right[p
    s2+j];
    mn=mn;
    result[i
    s2 + j] +=mn;
    }
    }
    }
    }

    展开全文
  • C语言全套资料 C语言程序设计 C语言算法 C语言课件 C语言顺序程序设计,C语言数组,C语言循环控制,C语言预处理命令,C语言文件操作指针,C语言选择结构程序设计,C语言结构体与共用体,C语言文件操作,C语言函数
  • c语言算法实现功能![图片](https://img-ask.csdn.net/upload/201611/13/1479036546_389932.jpg)
  • 输入N,输出1-N全排列c语言算法,非递归算法................
  • C语言算法速查手册源代码(含目录)
  • 源:经典算法大全(51个C语言算法+单片机常用算法+机器学十大算法 转载于:https://www.cnblogs.com/LittleTiger/p/10323059.html

    源:经典算法大全(51个C语言算法+单片机常用算法+机器学十大算法

    转载于:https://www.cnblogs.com/LittleTiger/p/10323059.html

    展开全文
  • C语言算法之整数反转1、问题描述2、题解分析题解心得 1、问题描述 1、给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 2、备注:假设我们的环境只能存储得下 32 位的有符号整数,则其数值...
  • C语言算法 欧几里得算法

    千次阅读 2018-03-07 16:30:46
    算法背景:古希腊数学家,亚历山大港的欧几里得所著的《几何原本》,以系统系统论述几何学而著称,在其中的一卷中,他简要概述了一个求最大公约数的算法算法思想:欧几里得算法的思想是重复使用下列等式,知道n%m=...
  • C语言算法的特性

    千次阅读 2014-03-22 18:42:04
    C语言算法有如下特性: 有穷性:一个算法应包含有限的操作步骤而不能是无限的。 确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。 有零个或多个输入。 有一个或多个输出。 有效性...
  • 集装箱的装箱问题(c语言算法

    热门讨论 2011-09-26 09:39:04
    贪心算法的思想---集装箱的装箱问题(c语言算法
  • 常用c语言算法,包括数论算法,图论算法、排序算法、高精度计算、树的遍历算法等等
  • 经典C语言算法题之回文数1、题目描述2、题目解析3、代码编写4、题解心得 1、题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true ...
  • 接下来的日子,2018年12月18日至2019年1月底,本次我专门学习C语言算法编程的学习。对此有兴趣的同学可以参考关注一起学习。如有差错,多多指教。 目的: 打好坚实的C语言基础。 期间拓展一些数据结构知识。 期间...
  • c语言算法求大神这个错误怎么改?,怎么改,怎么改。。。。怎么改。。。![图片说明](https://img-ask.csdn.net/upload/201610/30/1477815155_751816.png)
  • 条码CODE128C语言算法

    热门讨论 2015-01-04 14:53:56
    C语言 实现的一维码CODE128编码算法
  • 快速傅里叶变换FFT的C语言算法彻底研究 LED音乐频谱显示的核心算法就是快速傅里叶变换,FFT的理解和编程还是比较难的,特地撰写此文分享一下研究成果。  一、彻底理解傅里叶变换 快速傅里叶变换(Fast Fourier...
  • 汽车加油行驶问题(C语言算法设计与分析),里面有完整的代码,并且能正确运行,附带有完整的课程设计说明书。
  • 相关向量机(RVM)的C语言算法实现,不知哪位大神能给与指导……
  • C语言算法描述基础

    2020-05-09 21:21:50
    目录算法1. 算法 定义:算法是一些常见问题的通用解决方法 1.
  • C语言中有有许多经典的算法,这些算法都是许多人的智慧结晶,也是编程中常用的算法,这里面包含了众多算法思想,掌握这些算法,对于学习更高级的、更难的算法都会有很大的帮助,会为自己的算法学习打下坚实的基础。...
  • 题目来源:王晓东《算法设计与分析》 假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的 贪心算法进行安排。(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个 顶点,...
  • HMAC-MD5 C语言算法

    热门讨论 2008-10-09 19:58:24
    HMAC-MD5的c语言实现算法。安全摘要算法
  • 10个经典C语言算法—零基础小白必学

    万次阅读 多人点赞 2018-06-08 16:53:43
    C语言中有有许多经典的算法,这些算法都是许多人的智慧结晶,也是编程中常用的算法,这里面包含了众多算法思想,掌握这些算法,对于学习更高级的、更难的算法都会有很大的帮助,会为自己的算法学习打下坚实的基础。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,616
精华内容 15,446
关键字:

c语言算法

c语言 订阅