C语言 百炼成钢26
/*
题目62: 有一下特征字符串"eerrrrqqAB33333ABa333333ABjsfdsfdsa"
编写一个业务函数,
实现功能1:实现按照子串"AB"分割字符串,把“eerrrrqq”,"33333","a333333","jsfdsfdsa"
把实现结果按照二维数组(第2种内存模型)打包传出。
实现功能2:对二维数组(第二种内存模型),进行排序输出
要求1:请自己编写业务一个接口(函数),并实现功能;70分
要求2:编写测试用例。30分
要求3:自己编写内存释放函数
*/ #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h> /*
分析:
使用strstr函数可以很快找出AB的地址,把AB替换成\0 这个前面一段就会成为一个新的字符串
*/ //分割字符串
int SpitAndSortStr(char *pin/*in*/, char(*pout)[]/*out*/,int *rnum){
int ERRO_MSG = ;
if (pin == NULL || pout == NULL || rnum==NULL)
{
ERRO_MSG = ;
printf("pin == NULL || pout==NULL || rnum==NULL 传入参数不可以为空 erro msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
char *pstart = pin;
int index = ;
char *temp = strstr(pstart, "AB");
while (temp != NULL){
*temp = '\0';
strcpy(pout[index], pstart);
index++;
//指针向后移动2个字节
pstart = temp + ;
temp=strstr(pstart, "AB");
}
strcpy(pout[index], pstart);
*rnum = index + ;
return ERRO_MSG;
} //字符串排序
int sortstr(char (*pin)[],int num){
int ERRO_MSG = ;
if (pin==NULL)
{
ERRO_MSG = ;
printf("传入参数不可以为空 erro msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
int i = ,j=;
char temp[] = {};
for (int i = ; i < num; i++)
{
for (j = i + ; j < num; j++)
{
if (strcmp(pin[i],pin[j])>)
{
strcpy(temp, pin[i]);
strcpy(pin[i], pin[j]);
strcpy(pin[j], temp);
}
}
}
return ERRO_MSG;
} //打印二维数组
void print(char(*pin)[],int num){
if (pin==NULL)
{
printf("传入的参数不可以为空!\n");
return;
}
int i = ;
for (i = ; i < num; i++)
{
printf("%s\n", pin[i]);
}
} void main(){
char str[] = "eerrrrqqAB33333ABa333333ABjsfdsfdsa";
char arr[][] = { };
int ret = ,num=;
ret = SpitAndSortStr(str, arr,&num);
if (ret!=)
{
printf("分割字符串程序执行出错!\n");
}
//打印字符串
print(arr, num);
printf("\n------------排序后---------------------\n");
ret = sortstr(arr, num);
if (ret != )
{
printf("排序程序执行出错!\n");
}
//打印字符串
print(arr, num);
printf("程序执行完毕!\n");
system("pause");
}

C语言 百炼成钢26的更多相关文章
- C语言 百炼成钢19
/* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...
- C语言 百炼成钢17
//题目49:老师将糖果分成若干份,让学生按任意次序领取,第一个领取的,得到1份加上剩余糖果的1/10, //第二个领取的,得到2份加上剩余糖果的1/10,第三个领取的,得到3份加上剩余糖果的1/10 ...
- C语言 百炼成钢9
//题目25:求1+2!+3!+...+20!的和 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib ...
- C语言 百炼成钢3
//题目7:用*号输出空心菱形图案 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...
- C语言 百炼成钢2
//题目4:输入某年某月某日,判断这一天是这一年的第几天? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<st ...
- C语言 百炼成钢1
//题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> ...
- C语言 百炼成钢18
//题目52:用递归打印以下图形 //* //*.*. //*..*..*.. //*...*...*...*... //*....*....*....*....*.... #include<s ...
- C语言 百炼成钢16
//题目46:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只 //猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了 //一个,它同样把 ...
- C语言 百炼成钢15
//题目43:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出 //圈子,问最后留下的是原来第几号的那位. #include<stdio.h> #inclu ...
随机推荐
- OpenGL(八)使用 subroutine 切换可编程管线
Subroutine 功能是在OpenGL 4.0 版本号里才添加的.因此对于各种Android手机.这个功能基本跪了.假设你发现你的程序报错:ARB_shader_subroutine.那就说明当前 ...
- C++ STL中Map的按Key排序
为了实现快速查找,map内部本身就是按序存储的(比如红黑树).在我们插入<key, value>键值对时,就会按照key的大小顺序进行存储.这也是作为key的类型必须能够进行<运算比 ...
- Php如何返回json数据
php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...
- linux Java 手动GC 手动回收垃圾
logs_paths[0]="xxxx_tomcat8_9001"; logs_paths[1]="xxxx_tomcat8_9002"; for logs_p ...
- react-redux 中 connect 的常用写法
1.方式一 export default connect(({ monitorRedux })=>{ return { data: monitorRedux.data } })(Monitor) ...
- ES6 编程风格
1.块级作用域 (1)使用let代替var 好处:变量应该只在其声明的代码块内有效:var命令存在变量提升效用,let命令没有这个问题. (2)全局常量 在let和const之间,建议优先使用cons ...
- mybatis加入条件
根据http://www.cnblogs.com/friends-wf/p/3799315.html搭建的环境 User.xml加入的 if where判断的 <!-- 根据条件查询一个用户 - ...
- C#音视频网络流解码:H264视频和ACC音频
下面两种方式是直接翻译过来的,还有问题,比如指针的使用和值的传入.考虑C#和C++的差异,还是要抱着怀疑的态度去看待,不一定是对的. H264视频解码网络流: using FFmpeg.AutoGen ...
- simpleRNN
simpleRNN 训练集为<爱丽丝梦境>英文版txt文档,目标:根据随机给出的10个字符,生成可能的后100个字符 词向量空间生产 In [4]: INPUT_FILE = " ...
- 浅析C#中 ConcurrentDictionary的实现
简单画了一张图 (灵魂画手 →_→) 如图 ConcurrentDictionary 其中有个tables 对象主要存储,而这个 tables 是一个 很多区块的 数组 ,每个区块 又是一个node的 ...