• 蓝桥杯


    1、 反转串

    我们把“cba”称为“abc”的反转串。

    下面的代码可以把buf中的字符反转。其中n表示buf中待反转的串的长度。请补充缺少的代码。

    #include <stdio.h>
    #include <string.h>
    #include<stdlib.h>
    void reverse_str(char* buf, int n)
    {
        char tmp;
        printf("%c %c
    ", buf[0], buf[n-1]);
        if (n<2) return;
        tmp = buf[0];
        buf[0] =  buf[n-1];
        buf[n-1] = tmp;
        reverse_str(buf+1,n-2);    //char *buf; buf+1; 数组开始元素变化。
    }
    
    int main()
    {
        char a[10] = "zhangguo";
        reverse_str(a,strlen(a));
        printf("%s
    ",a);
        system("pause");
        return 0;
    }

    2、n进制小数;

    十进制整数转换为二进制整数:

    十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

    十进制小数转换为二进制小数:

    十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。 然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    #include <stdio.h>
    #include<stdlib.h>
    void fun(double dTestNo, int iBase)
    {
        int iT[8];
        int iNo;
        printf("十进制正小数 %f 转换成 %d 进制数为:",dTestNo, iBase);
        for(iNo=0;iNo<8;iNo++)
        {
            dTestNo *= iBase;
            printf("%f ", dTestNo);
            iT[iNo] = (int)dTestNo;
             dTestNo -= iT[iNo];
            //printf("%f
    ", dTestNo);
        }
        printf("0.");
        for(iNo=0; iNo<8; iNo++) printf("%d", iT[iNo]);
        printf("
    ");
    }
    
    int main ( )
    {    
        double dTestNo= 0.795;
        int iBase;
        for(iBase=2;iBase<=9;iBase++)
            fun(dTestNo,iBase);
        printf("
    ");
        system("pause");
            return 0;
    }

    3、

  • 相关阅读:
    AVLTree的实现以及左右旋转维持自平衡
    哈希函数之布隆过滤器
    LeetCode——线段树解决区间总和问题
    第23章 Windows身份验证
    第22章 使用外部身份提供商登录
    第21章 登录
    第20章 定义客户端
    第19章 定义资源
    第18章 启动
    第17章 社区快速入门和模板
  • 原文地址:https://www.cnblogs.com/soTired/p/5238948.html
Copyright © 2020-2023  润新知