【c语言】字符串排序

 

 1 #include <stdio.h>
 2 #include <string.h>
 3 #define SIZE 81
 4 #define LIM 3
 5 #define HALT ""
 6 void stsrt(char *string[],int num);
 7 char *s_gets(char *st,int n);
 8 
 9 
10 int main()
11 {
12 char input[LIM][SIZE];
13 char *ptstr[LIM];
14 int ct=0;
15 int k;
16 printf("Input up to %d lines\n",LIM);
17 while(ct<LIM && s_gets(input[ct],SIZE) != NULL
18 && input[ct][0] != '\0')
19 {
20 ptstr[ct]=input[ct];
21 ct++;
22 }
23 stsrt(ptstr,ct);
24 puts("\nHere's the sorted list:\n");
25 for(k=0;k<ct;k++)
26 puts(ptstr[k]);
27 
28 
29 return 0;
30 }
31 
32 void stsrt(char *string[],int num)
33 {
34 char *temp;
35 int top,seek;
36 for(top=0;top<num-1;top++)
37 for(seek=top+1;seek<num;seek++)
38 if(strcmp(string[top],string[seek])>0)
39 {
40 temp=string[top];
41 string[top]=string[seek];
42 string[seek]=temp;
43 }
44 }
45 char *s_gets(char *st,int n)
46 {
47 char *ret_val;
48 int i=0;
49 ret_val=fgets(st,n,stdin);
50 if(ret_val)
51 {
52 while(st[i] != '\n' && st[i] != '\0')
53 {
54 i++;
55 }
56 if(st[i] == '\n')
57 st[i]='\0';
58 else
59 while(getchar() != '\n')
60 continue;
61 }
62 return ret_val;
63 }
64 
65  

 

posted @ 2022-07-06 13:36  老年新手工程师  阅读(511)  评论(0)    收藏  举报