易截截图软件、单文件、免安装、纯绿色、仅160KB

《编程珠玑》问题的C实现——2:向量旋转

 #include <stdio.h>
#include <stdlib.h>
#define SIZE 17
void reverse(int start, int end);
int data[SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
int main(void)
{
int i = 5;
reverse(0, i - 1);
reverse(i, SIZE-1);
reverse(0, SIZE-1);
return 0;
}
void reverse(int start, int end)
{
int t, i, mid;;
mid = (end - start) % 2 == 0 ? (end - start) / 2 : (end - start) / 2 +1;
for(i = 0; i < mid; i ++){
t = data[i + start];
data[start + i] = data[end - i];
data[end - i] = t;
}

for(i = start; i <= end; i++)
printf("%d ", data[i]);
putchar('\n');
return;

}


相关文档:

c宏定义的技巧总结


1,防止一个头文件被重复包含
#ifndef COMDEF_H
#define COMDEF_H
//头文件内容
#endif
2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。
typedef unsigned char      boolean;     /* Boolean value type. */
typedef ......

迅雷笔试 字符串反转 C库函数 strrev

char* my_strrev( char* string )
{
 char *left, *right, ch;
 left = right = string;
 while( *right++ != '\0');
 right -= 2;
 while( left<right )
 {
  ch = *left;
  *left = *right;
  *right = ch;
  ++left; --right;
&n ......

C/C++ 字节对齐问题

VC中下面几个结构体大小分别是多少呢
struct MyStruct
{
    double m4;
    char m1;
    int m3;
};
struct MyStruct {
    char m1;
    double m4;
    int m3;
};
#pragma pack(push)   ......

C若干实用小技巧

Visual C++6.0(5.0)开发工具功能非常强大,但是对于初学者来说,却有很多细节的问题需要注意。作者搜集整理了以下一些实用小技巧,希望对初学者有所帮助。
  1:使用vc开发项目时,常会遇到这种情况:
    即明明只改动了一个文件,却要把整个项目全部重新编译连接一次。刚刚连接好,一运行,又提示 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号