首页 > 电脑 > C语言输出字符串排序

C语言输出字符串排序

电脑 2022-06-05

c语言字符串排序

#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%。

C语言中如何将10个字符串进行排序

#include

#include

int main()

{

int j,k,i,t,n;

char s[10][10],b[10][10];

for(i=0;i<10;i++)

{

scanf("%s",s[i]);

}

n=strlen(s[1]);

k=0;

for(i=0;i<9;i++)

{

for(j=0;j<9-i;j++)

if(strcmp(s[j],s[j+1])>0)

{

for(k=0;k

b[j][k]=s[j][k];

for(k=0;k

s[j][k]=s[j+1][k];

for(k=0;k

s[j+1][k]=b[j][k];

}

}

for(i=0;i<10;i++)

{

printf("%s ",s[i]);

}

return 0;

}

运行效果:

扩展资料:

scanf函数用法:

scanf("输入控制符",输入参数);

功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。

用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。

如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。

C语言处理字符串排序输出

#include "stdio.h" #include "string.h" int main() { char p[100], c; scanf("%s", &p); for(int i=0; i p[j+1]){ c = p[j]; p[j] = p[j+1]; p[j+1] = c; } for(int k=0; kc语言中从键盘输入N个字符串,将字符串按从小到大的顺序排列并输出

代码如下:

#define N 10 int main(){char str[N][100]; int i,j; for(i = 0; i < N; i ++) scanf("%s",str[i]); for(i = 0; i < N-1; i ++) { for(j = i+1; j < N; j ++){ if(strcmp(str[i],str[j])>0) { char temp[100]; strcpy(temp,str[i]); strcpy(str[i],str[j]); strcpy(str[j],temp);} } } for(i = 0; i < N; i ++) puts(str[i]);}。

运行代码:

执行结果:

扩展资料

在C语言编程中,常常需要对字符串比较和排序,经常遇到对字符串整体的控制等操作,strcmp 比较str1和str2的大小,而其它的c函数strlen(),字符串拷贝函数strcpy()/strncpy(),字符串比较函数 strcmp(),字符串连接函数strcat()/strncat()等,都可以帮助我们快速方便的对字符串操作。

参考资料:百度百科-C语言

c语言 打印给定字符串的所有排列?

#include

void pern(char s[],int k)

{int i;

char c;

if(k==2)

printf("%s\n",s);

else

for(i=k;i<=2;i++)

{c=s[k];s[k]=s[i];s[i]=c;

pern(s,k+1);

c=s[k];s[k]=s[i];s[i]=c;

}

}

void print_all_permutations(char *str)

{ pern(str,0);

return;

}

int main(void)

{ char str[256] = "ABC";

print_all_permutations(str);

return 0;

}


标签:编程语言 C(编程语言) CC++ 信息技术 编程

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved.