重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
取 statusC 的字符串,在 status中查询位置,再在statusC中按此位置赋值。
创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为泉港企业提供专业的网站建设、成都网站设计,泉港网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
因为char *strings[]不是指针而是指针数组,那么
temp = strings[top];
strings[top] = strings[seek];
strings[seek] = temp;
这种交换交换的就是主调函数中的数组中的指针,把指向字符串的指针顺序改变了,当然按次序输出就达到排序目的了……
#include stdio.h
#include string.h
#include stdlib.hint cmpInt(const void *a,const void *b)
{
return *(int *)a - *(int *)b;
}int cmpDouble( const void *a , const void *b )
{
return *(double *)a *(double *)b ? 1 : -1;
}
int compareLength(const void * a,const void * b)
{
if(strlen(*(char * *)a) strlen(*(char * * )b))
return 1;
else if(strlen((*(char * *)a)) strlen((*(char * *) b)))
return -1;
else return strcmp(* (char * *)a,*(char * *)b);
}
int main()
{
int i;
int num[10]={12, 32, 42,51,8,16,51,21,19,9};
double in[10]={32.1,456.87,332.67,442.0,98.12,451.79,340.12,54.55,99.87,72.5};
char * str[] = {"enter","number","size","begin","of","cat","case","program","certain","a"}; qsort(num,10,sizeof(num[0]),cmpInt);
qsort(in,10,sizeof(in[0]),cmpDouble);
qsort((void *)str,10,sizeof(str[0]),compareLength);
for(i=0;i10;i++)
{
printf("%d ",num[i]); }
printf("\n"); for(i=0;i10;i++)
{
printf("%.2f ",in[i]); }
printf("\n");
for(int i = 0;i10;i++)
{
printf("%s ",str[i]);
}
printf("\n"); return 0;
}我也喜欢编程,当复习下以前的知识吧
数组是一个由 固定长度 的 特定类型元素 组成的序列,一个数组可以由零个或多个元素组成。 数组是值类型
数组的每个元素都可以通过索引下标来访问,索引下标的范围是从0开始到数组长度减1的位置,内置函数 len() 可以返回数组中元素的个数。
2.类型的打印,结果的第二种打印方式
3.对元素的修改或者赋值
4.判断数组是否相等:长度、类型
4.数组的地址:连续存储的空间
5.数组的赋值、地址、取值
6.数组的默认值
7.数组的初始化
8.数组的逆置
9.求数组的最大值、最小值、平均值
10.对数组字符串进行连接
11.冒泡排序法的实现
12.数组做函数的参数
13.二维数组:赋值和地址
14.二维数组:打印和输出
15. 指针数组,每一个元素都是地址
17.数组的内存分配