问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言字符串排序

发布网友 发布时间:2022-04-23 23:08

我来回答

3个回答

热心网友 时间:2023-10-13 03:39

#include<stdio.h>

#include<string.h>

#define SIZE 91

#define LIM 31

#define HALT""

void stsrt(char*strings[],int num);

int main(void)

{

char input[LIM][SIZE];

char*ptstr[LIM];

int ct=0;

int k=0;

printf("input up to%d lines,and I will sort them.\n",LIM);

printf("To stop,press the enter key at a line's start.\n");

while(ct<LIM&&gets_s(input[ct],100)!=NULL&&input[ct][0]!='\0')

{

ptstr[ct]=input[ct];

ct++;

}

stsrt(ptstr,ct);

puts("\n here's the sorted list:\n");

for(k=0;k<ct;k++)

{

puts(ptstr[k]);

}

puts("\n here's the list:\n");

for(k=0;k<ct;k++)

{

puts(input[k]);

}

return 0;

}

void stsrt(char*strings[],int num)

{

char*temp;

int top,seek;

for(top=0;top<num-1;top++)

{

for(seek=top+1;seek<num;seek++)

{

if(strcmp(strings[top],strings[seek])>0)

{

temp=strings[top];

strings[top]=strings[seek];

strings[seek]=temp;

}

}

}

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;

如果我们要打印的数的位数如果超过我们设定m则原样输出;

如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

热心网友 时间:2023-10-13 03:39

#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
int comp(const void*,const void*);
main(int argc,char *argv[])
{ int i;
char *s[]={"abcd","cbef","bcde"};
int n=sizeof s/sizeof s[0];
qsort(s,n,sizeof s[0],comp);
for(i=0;i<n;i++)
printf("%s",s[i]);
}
int comp(const void*p1,const void*p2)
{
const char *ps1=*(const char**)p1;
const char *ps2=*(const char**)p2;
return strcmp(ps1,ps2);
}
调用c库中的qsort函数求解

热心网友 时间:2023-10-13 03:40

#include <string.h>
#include <stdio.h>

void Swap1(char s[3][128])
{
char tmp[128] = {0};
int i, j;
for (i = 0; i < 2; ++i)
{
for (j = 0; j < 2; ++j)
{
if (strcmp(s[j], s[j+1]) > 0)
{
strcpy(tmp, s[j]);
strcpy(s[j], s[j+1]);
strcpy(s[j+1], tmp);
}
}
}
}

int main(void)
{
char s[3][128];
scanf(" %s %s %s", s[0], s[1], s[2]);
Swap1(s);
printf("%s %s %s\n", s[0], s[1], s[2]);
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
arrive in和arrive at 有什么区别? 磁力泵为什么可空转? 为什么不让衬氟塑料磁力泵空转?怎样提升设备稳定性? 工业软管泵 塑料磁力泵为什么不能空转 求推荐男主和女配在一起的小说? 《红衣天下》txt全集下载 检测公司检测哪些 检测公司是怎么样的 检测公司属于什么企业 C语言中 字符串怎么排序 然后对这些字符串排序,该怎么做 如何给字符串排序? C语言中如何将10个字符串进行排序 电话是1876年由?发明的 求详细解答:1876年,贝尔发明了电 历史上第一个电器是什么? 电灯泡是谁在哪一年发明的? 电报电话分别是谁发明的? 爱迪生发明电的事例 爱迪生在什么时候发明了什么东西? 电是由谁发明的? 1876年发明的是电话还是电灯?? 谁发明了电?谁让人类掌握了电的使用? 最早发明电器的是谁? 谁发明了电? 库课网课过期了还可以看吗 1876年由哪位科学家发明了电话? 求解答过程:1876年,贝尔发明了电 谁发明了 电?谁让人 类 掌握 了电的 使用 字符串排序 C语言编程 按照指定的字符顺序进行字符串排序 字符排序 Excel字符串排序 C语言,字符串排序问题。。 java:字符串排序问题 字符串排列 java中怎么对一串字符进行排序! 字符串排序(使用动态链表)先悬赏100分,满意另加分 C语言 字符串排序的规则是什么?就是字符串排序是什么意思? OPPOR11s与荣耀v10哪个好? OPPOR11s与荣耀 v10对比? oppor11s与荣耀V10比较哪个拍照效果好 华为荣耀9和OPPO R11s有什么区别 OPPOR11s与荣耀v10对比? OPPO R11s与荣耀 v10哪个好? oppor11s好还是荣耀8x好? oppor11s和华为荣耀v10哪个性能好 OPPOr11s和荣耀10v哪个比较好 OPPOR11s和荣耀V9哪个好