概述
代码片段
- 使用qsort排序
void qsort(void* base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));
参数按顺序依次是要比较的数组,数组长度,元素占用字节数,比较函数。
比较函数要求是如下形式,返回值为int
int cmp(const void* elem0, const void* elem1)
定义cmp
函数时,首先将两个参数强转为数组的类型;然后写比较规则,参照下面例子。
#include<stdlib.h>
#include <stdio.h>
#include "codeCollections.h"
//double 比较
int cmp(const void* elem0, const void* elem1)
{
double* var0 = (double*)elem0;
double* var1 = (double*)elem1;
return *var0 > * var1 ? 1 : -1;//升序,若想降序,颠倒即可。
}
int cmpTime(const void* elem0, const void* elem1)
{
clock* var0 = (clock*)elem0;
clock* var1 = (clock*)elem1;
int res = 0;
if (var0->h > var1->h)
{
res = 1;
}
else if (var0->h < var1->h)
{
res = -1;
}
else
{
if (var0->min > var1->min)
{
res = 1;
}
else if (var0->min < var1->min)
{
res = -1;
}
else
{
if (var0->s > var1->s)
{
res = 1;
}
else if (var0->s < var1->s)
{
res = -1;
}
else
{
res = 1;
}
}
}
return res;
}
void codeCollectionsTest()
{
//double 数组排序展示
double arr[CODE_COLLECTIONS_ARR_SIZE] = { 1,2,90,-0.1,-3.14,8 };
qsort(arr, CODE_COLLECTIONS_ARR_SIZE, sizeof(double), cmp);
for (int i = 0; i < CODE_COLLECTIONS_ARR_SIZE; i++)
{
printf("%f,t", arr[i]);
}
printf("n");
//结构体排序展示
clock timer[CODE_COLLECTIONS_ARR_SIZE];
for (int i = 0; i < CODE_COLLECTIONS_ARR_SIZE; i++)
{
timer[i].h = rand() % 24;
timer[i].min = rand() % 60;
timer[i].s = rand() % 60;
printf("%dH:%dM:%dSt", timer[i].h, timer[i].min, timer[i].s);
}
printf("n");
qsort(timer, CODE_COLLECTIONS_ARR_SIZE, sizeof(clock), cmpTime);
for (int i = 0; i < CODE_COLLECTIONS_ARR_SIZE; i++)
{
printf("%dH:%dM:%dSt", timer[i].h, timer[i].min, timer[i].s);
}
}
- 取整函数
#include<math.h>
ceil(a);
floor(a);
round(a);//四舍五入
- 读写TXT
void fileIO()
{
FILE* fp;
char ch[CODE_COLLECTIONS_ARR_SIZE];
fp = fopen("./fileIO.txt", "w");
fprintf(fp, "%s", "input");
fclose(fp);
fp = fopen("./fileIO.txt", "r");
(void)fscanf(fp, "%s", ch);
fclose(fp);
printf("%s", ch);
}
最后
以上就是合适电源为你收集整理的记录有益的代码片段代码片段的全部内容,希望文章能够帮你解决记录有益的代码片段代码片段所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复