本篇文章给大家谈谈c语言字符串排序函数,以及C语言字符串排序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、C语言字符串排序2、C语言字符串快速排序函数3、C语言中如何将10个字符串进行排序4、字符串排序 C语言编程
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; i MAX; ++i) {
if(gets(t) t[0] != ‘\0’) {
s[i] = (char *)malloc(80 * sizeof(char));
strcpy(s[i],t);
}
else break;
}
while(i MAX gets(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;n num;n++) puts(str[num]);
}
void ASC(char *str[],int num) {//2.按ASCⅡ码顺序输出字符串
int top,seek;
char *temp;
for(top = 0;top num – 1;top++) {
for(seek = top + 1;seek num;seek++)
if(strcmp(str[top],str[seek]) 0) {
temp = str[top];
str[top] = str[seek];
str[seek] = temp;
}
}
for(int n = 0;n num;n++) puts(str[n]);
}
void length_add(char *str[],int num) { //3.按长度递增顺序输出字符串
char *temp;
int top,seek;
for(top = 0;top num – 1;top++) {
for(seek = top + 1;seek num;seek++)
if(strlen(str[top]) strlen(str[seek])) {
temp = str[top];
str[top] = str[seek];
str[seek] = temp;
}
}
for(int n = 0;n num;n++) puts(str[n]);
}
void word_length(char *str[],int num) {//4.按字符串第一个单词长度输出字符串
char *temp;
int top,seek,n,j,len[MAX];
for(n = 0; n num; ++n) {
len[n] = 0;
j = 0;
while((str[n][j] != ‘ ‘) str[n][j]) {
++len[n];
++j;
}
}
for(top = 0;top num – 1;top++) {
for(seek = top + 1; seek num;seek++) {
if(len[top] len[seek]) {
temp = str[top];
str[top] = str[seek];
str[seek] = temp;
}
}
}
for(n = 0;n num;n++) puts(str[n]);
}
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语言中如何将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语言编程
#includelt;stdio.hgt;
#includelt;string.hgt;
#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(ctlt;LIMgets_s(input[ct],100)!=NULLinput[ct][0]!=’\0′)
{
ptstr[ct]=input[ct];
ct++;
}
stsrt(ptstr,ct);
puts(“\n here’s the sorted list:\n”);
for(k=0;klt;ct;k++)
{
puts(ptstr[k]);
}
puts(“\n here’s the list:\n”);
for(k=0;klt;ct;k++)
{
puts(input[k]);
}
return 0;
}
void stsrt(char*strings[],int num)
{
char*temp;
int top,seek;
for(top=0;toplt;num-1;top++)
{
for(seek=top+1;seeklt;num;seek++)
{
if(strcmp(strings[top],strings[seek])gt;0)
{
temp=strings[top];
strings[top]=strings[seek];
strings[seek]=temp;
}
}
}
扩展资料:
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md–gt;m域宽,打印出来以后,在控制台上,显示m位;
如果我们要打印的数的位数如果超过我们设定m则原样输出;
如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符”%”,则应该在“格式控制”字符串中用连续两个%表示。
如:printf(“%f%%”,1.0/3);输出结果:0.333333%。
关于c语言字符串排序函数和C语言字符串排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。