字典序(輸入OR不輸入)

#include<stdio.h>
#include<string.h>
int main()
{
void sort( char *name[], int n);
void print(char *name[], int n);
char *name[5] = { "follow me", "basic", "great wall", "fortran", "computer design" };
//定義指針數組,5個元素分別指向5個字符串的首地址;
int number = 5;
sort(name, number);//對字符串進行排序,選擇排序的方法;
print(name, number);
return 0;
}
void sort(char *name[], int n)
{
int i, j;
char *temp;
for (i = 0; i < n - 1; i++)
for (j = i + 1; j < n; j++)
if (strcmp(name[i], name[j]) > 0)
{
temp = name[i];
name[i] = name[j];
name[j] = temp;
}


}
void print(char *name[], int n)
{
for (int i = 0; i < n; i++)
printf("%s\n", name[i]);
}



#include  <stdio.h>
#include  <string.h>
#define   M  150 /* 最多的字符串個數 */
#define   N  10 /* 字符串最大長度 */
void SortString(char *ptr[], int n);
int main()
{
  int    i, n; 
  char a[M][N];
  char   *pStr[M];
   
  printf("How many countries?\n");
  scanf("%d",&n);
  getchar();        /* 讀走輸入緩衝區中的回車符 */
  printf("Input their names:\n");
  for (i=0; i<n; i++)  
  {
   pStr[i] = a[i];
      gets(pStr[i]);  /* 輸入n個字符串 */
  }
  SortString(pStr, n); /* 字符串按字典順序排序 */
  printf("Sorted results:\n");
  for (i=0; i<n; i++)                    
  {
      puts(pStr[i]);  /* 輸出排序後的n個字符串 */
  }
  return 0;
}
void SortString(char *ptr[], int n)
{
  int   i, j;
  char  *temp = NULL;
  for (i=0; i<n-1; i++)    
  {
      for (j=i+1; j<n; j++)
      {
         if (strcmp(ptr[j], ptr[i]) < 0)    
         {
              temp = ptr[i];
              ptr[i] = ptr[j];
              ptr[j] = temp;
         } 
      }   
  } 
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章