C根据排序字符串
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#define STR_LEN_MAX 100 char **ppcStringArry = NULL;
int num = ; void OutPutTest1();
void OutPutTest2();
/* 字符串数组输出函数*/
void OutPut()
{
int i = ;
for (; i < num; i++)
{
if (NULL != ppcStringArry[i])
{
//free(ppcStringArry[i]);
}
printf("index is %d, string is %s.\r\n", i, ppcStringArry[i]);
}
printf("\r\n");
printf("%s\r\n", "----------------------------------");
}
/* 字符串数组排序输出函数*/
void SortOutPut()
{
int m = ;
int n = ;
char * temp = NULL;
for (m = ; m < num -; m++)
{
for (n = m + ; n < num; n++)
{
if (strcmp(ppcStringArry[m], ppcStringArry[n]) > )
{
temp = ppcStringArry[m];
ppcStringArry[m] = ppcStringArry[n];
ppcStringArry[n] = temp;
}
}
}
OutPut(); } int main()
{
//OutPutTest1();
OutPutTest2();
}
/* 使用fgets函数*/
void OutPutTest1()
{
char acDate[STR_LEN_MAX] = {};
FILE * pFile;
pFile = fopen("F://C/1.txt", "ab+");
num = ;
ppcStringArry = (char**)malloc(STR_LEN_MAX * sizeof(char*));
while(NULL != fgets(acDate, STR_LEN_MAX, pFile))
{
ppcStringArry[num] = (char*)malloc(STR_LEN_MAX);
memset(ppcStringArry[num], , STR_LEN_MAX); memcpy(ppcStringArry[num], acDate, strlen(acDate)+);
memset(acDate, , sizeof(acDate));
num++; }
SortOutPut();
}
/* 使用fscanf函数*/
void OutPutTest2()
{
//char acDate[STR_LEN_MAX] = {0};
FILE * pFile;
pFile = fopen("F://C/1.txt", "ab+");
int ret = ;
num = ;
ppcStringArry = (char**)malloc(STR_LEN_MAX * sizeof(char*));
ppcStringArry[num] = (char*)malloc(STR_LEN_MAX);
memset(ppcStringArry[num], , STR_LEN_MAX);
ret = fscanf(pFile, "%s", ppcStringArry[num]); while( EOF != ret)
{
num++;
ppcStringArry[num] = (char*)malloc(STR_LEN_MAX);
memset(ppcStringArry[num], , STR_LEN_MAX);
ret = fscanf(pFile, "%s", ppcStringArry[num]);
}
SortOutPut();
}
C根据排序字符串的更多相关文章
- 【转】借助System.Linq.Dynamic, IQueryable根据排序字符串排序
在使用Entity Framework时,若有多个排序,需要OrderBy (OrderByDescending)再ThenBy (ThenByDescending) 假设需要根据Name升序排序,再 ...
- 借助System.Linq.Dynamic, IQueryable根据排序字符串排序
在使用Entity Framework时,若有多个排序,需要OrderBy (OrderByDescending)再ThenBy (ThenByDescending) 假设需要根据Name升序排序,再 ...
- JS 用sort方法排序字符串
JavaScript提供了一种更简便的方法用于比较两个字符串——localeCompare(),localeCompare()使用本地特定的顺序来比较两个字符串,语法如下:string.localeC ...
- hdu1106 排序(字符串分割,strtok+sscanf)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- 洛谷P1781 宇宙总统【排序+字符串】
地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统. 输入输出格式 输入格式: president.in 第一行为一个 ...
- [leetcode]791. Custom Sort String自定义排序字符串
S and T are strings composed of lowercase letters. In S, no letter occurs more than once. S was sort ...
- pageHelper 排序 +- 字符串处理
自己记录一下. 前端要把sort参数传过来, 1. 如果约定是下面这种形式: sort=id-name+age+ 直接在java后台进行替换就行,连正则都不用. sort = sort.replace ...
- Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序
package TreeSetTest; import java.util.Iterator; import java.util.TreeSet; import javax.management.Ru ...
- 字符串排序简单的工具类,数组转list,list转数组
public static void main(String[] args) { /* String[] str = {"a", "c", "b&qu ...
随机推荐
- Codeforces Round #546 (Div. 2) E - Nastya Hasn't Written a Legend
这题是一个贼搞人的线段树 线段树维护的是 区间和a[i - j] 首先对于update的位置可以二分查找 其次update时候的lazy比较技巧 比如更新的是 l-r段,增加的是c 那么这段的值为: ...
- PAT甲题题解1098. Insertion or Heap Sort (25)-(插入排序和堆排序)
题目就是给两个序列,第一个是排序前的,第二个是排序中的,判断它是采用插入排序还是堆排序,并且输出下一次操作后的序列. 插入排序的特点就是,前面是从小到大排列的,后面就与原序列相同. 堆排序的特点就是, ...
- sql not in 优化问题
问题情境: not in 耗时过长.想用join或exits代替.结果并不明显,这里先记录3种写法,以后探讨速度问题. sql语句: // not exists sql = @"select ...
- Javascript中Base64编码解码的使用实例
Javascript为我们提供了一个简单的方法来实现字符串的Base64编码和解码,分别是window.btoa()函数和window.atob()函数. 1 var encodedStr = win ...
- Eclipse导入包提示Setting build path has encountered a problem
Eclipse无法导入jar包时, 提示:“Setting build path” has encountered a problem,Could not write file D:\\workspa ...
- 使用redis防止抢购商品超卖
前言: redis不仅仅是单纯的缓存,它还有一些特殊的功能,在一些特殊场景上很好用. 本篇博文用来测试下使用redis来防止抢购商品超卖问题. 内容: 使用redis的list进行测试 思路是设置一个 ...
- PAT 1044 火星数字
https://pintia.cn/problem-sets/994805260223102976/problems/994805279328157696 火星人是以13进制计数的: 地球人的0被火星 ...
- centos 7 安装搜狗输入法
1.安装alien依赖软件sudo yum install alien -y 2.安装依赖软件sudo yum install qtwebkit -ysudo yum install fcitx -y ...
- [51CTO]区块链在美国:10个案例、10个问题和5个解决方案
区块链在美国:10个案例.10个问题和5个解决方案 近日,美国国际战略研究中心(CSIS, Center for Strategic and International Studies)发布报告< ...
- Windows 创建计划任务 实现自动同步文件.
0 感觉自己还是缺乏让计算机去工作的思维, 缺少编程和算法的想法与实践做法. 0x1 打开计划任务 方法: 运行-> 输入 control -> 大图标->管理工具 打开任务计划程序 ...