c语言函数对字符串排序 c语言如何对字符串进行排序输出

C语言中如何将10个字符串进行排序#includestdio.h
#includestring.h
int main()
{
int j,k,i,t,n;
char s[10][10],b[10][10];
for(i=0;i10;i)
{
scanf("%s",s[i]);
}
n=strlen(s[1]);
k=0;
for(i=0;i9;i)
{
for(j=0;j9-i;j)
if(strcmp(s[j],s[j 1])0)
{
for(k=0;kn;k)
b[j][k]=s[j][k];
for(k=0;kn;k)
s[j][k]=s[j 1][k];
for(k=0;kn;k)
s[j 1][k]=b[j][k];
}
}
for(i=0;i10;i)
{
printf("%s ",s[i]);
}
return 0;
}
运行效果:
扩展资料:
scanf函数用法:
scanf("输入控制符",输入参数);
功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中 。
用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志 。所以题中函数输出的值只有空格前面的部分 。
如果想要输出包括空格在内的所有数据 , 可以使用gets()函数读入数据 。gets()函数的功能是读取字符串,并存放在指定的字符数组中 , 遇到换行符或文件结束标志时结束读入 。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0' 。
C语言字符串快速排序函数#include stdio.h
#includestdlib.h
#includestring.h
int comp(char *a,char *b)
{
while(*a==*b*a*b){a;b;}
return (int)*a-(int)*b;
}
int main(void)
{
char s[1000][20];
int i,n;
scanf("%d\n",n);
for(i=0;in;i)
gets(s[i]);
qsort(s,n,sizeof(s[0]),comp);
printf("\n");
for(i=0;in;i)
puts(s[i]);
system("pause");
return 0;
}
C语言字符串排序#include stdio.h
#include string.h
#include malloc.h
#define MAX 10
void stsrt(char *str[],int num);
void ASC(char *str[],int num);
void length_add(char *str[],int num);
void word_length(char *str[],int num);
int main(void) {
char *s[MAX],t[80];
int i = 0,n;
printf("输入%d个字符串 :\n",MAX);
for(i = 0; iMAX;i) {
if(gets(t)t[0] != '\0') {
s[i] = (char *)malloc(80 * sizeof(char));
strcpy(s[i],t);
}
else break;
}
while(iMAXgets(s[i])s[i][0] != '\0') i;
puts("选择:");
puts("1.输出初始字符串列表");
puts("2.按ASCⅡ码顺序输出字符串");
puts("3.按长度递增顺序输出字符串");
puts("4.按字符串第一个单词长度输出字符串");
puts("5.结束");
while(scanf("%d",n) != 5) {
switch(n) {
case 1:stsrt(s,i);break;
case 2:ASC(s,i);break;
case 3:length_add(s,i);break;
case 4:word_length(s,i);break;
case 5:return 0;
default:puts("输入错误!");
}
}
return 0;
}
void stsrt(char *str[],int num) { //1.输出初始字符串列表
int n;
for(n = 0;nnum;n) puts(str[num]);
}
void ASC(char *str[],int num) {//2.按ASCⅡ码顺序输出字符串
int top,seek;
char *temp;
for(top = 0;topnum - 1;top) {
for(seek = top1;seeknum;seek)
if(strcmp(str[top],str[seek])0) {
temp = str[top];
str[top] = str[seek];
str[seek] = temp;
}
}
for(int n = 0;nnum;n) puts(str[n]);
}
void length_add(char *str[],int num) { //3.按长度递增顺序输出字符串
char *temp;
int top,seek;
for(top = 0;topnum - 1;top) {
for(seek = top1;seeknum;seek)
if(strlen(str[top])strlen(str[seek])) {
temp = str[top];
str[top] = str[seek];
str[seek] = temp;
}
}
for(int n = 0;nnum;n) puts(str[n]);
}
void word_length(char *str[],int num) {//4.按字符串第一个单词长度输出字符串
char *temp;
int top,seek,n,j,len[MAX];
for(n = 0; nnum;n) {
len[n] = 0;
j = 0;
while((str[n][j] != ' ')str[n][j]) {
len[n];
j;
}
}
for(top = 0;topnum - 1;top) {
for(seek = top1; seeknum;seek) {
if(len[top]len[seek]) {
temp = str[top];
str[top] = str[seek];
str[seek] = temp;
}
}
}
for(n = 0;nnum;n) puts(str[n]);
}
【c语言函数对字符串排序 c语言如何对字符串进行排序输出】关于c语言函数对字符串排序和c语言如何对字符串进行排序输出的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读