签到

05月06日
尚未签到

共有回帖数 0

    岁月流逝

    等级:
    先献上几个

    Q: 如何把一个字符ch添加到一个字符串str的末尾?
    A: 按照一般方法, 我们可能会用
           int len = strlen(str);
           str[len] = ch;
           str[len + 1] = '';
      不过我们也可以用strncpy函数来实现这一功能
           strncpy(str, &ch, 1);

    Q: 如何取得一个数组中元素的个数?
    A: 例如有数组
           int array[] = {5, 7, 1, 4, 0, 8, 6, 9, 3, 2};
      数组array中元素个数可以表示为
           sizeof(array) / sizeof(array[0]);
      或者
           sizeof(array) / sizeof(int);

    Q: 如何将一个数组中的每一个元素初始化为0?
    A: 可以用memset函数(需要#include string.h), 如
           int array[1024];
           memset(array, 0, sizeof(array);

    Q: 如何将一个数组赋值给另一个数组?
    A: 使用memcpy函数(需要#include string.h), 如
           int array1[10] = {1, 2, 3, 4, 5};
           int array2[10];
           memcpy(array2, array1, sizeof(array2));

    Q: 如何交换两个变量的值(不使用中间变量)?
    A:
           int a = 20, b = 30;
           a ^= b;
           b ^= a;
           a ^= b;
    Q:字符串转数
    A:int sscanf(const char* str,const char* format,...);
    e.g:char b[]="1234";
         int x;
         sscanf(b,"%d"&x);

    Q:数转字符串
    A:int sprintf(char* str,const char* format,...);
    e.g:int x=1234;
          char p[5];
          sprintf(p,"%d",x);
    说到排序 再次推销超快超简单的梳子排序吧
    void CombSort(int* data, int n)
    {
       const double shrink = 1.25;
       int i, temp, delta = n, noswap = 0;

       while(!noswap)
       {
           for(noswap = 1, i = 0; i + delta  n; i++)
               if(data  data[i + delta])
               {
                   temp = data;
                   data = data[i + delta];
                   data[i + delta] = temp;
                   noswap = 0;
               }
           if(delta  1)
           {
               delta /= shrink;
               noswap = 0;
           }
       }
    }

    楼主 2015-12-10 14:00 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知