標籤:c語言 函數調用 多字串排序
//字串排序*****
/*
===============================================================
對任意個字串升序排列!
===============================================================
*/
#include<stdio.h>
#include<string.h>
#define N 3 //控制排序數量
#define M 100 //控制單詞長度
//排序功能函數
void PX(char s[N][M])
{
int i,j;
char temp[M];
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(strcmp(s[i],s[j])==1)
{
strcpy(temp,s[i]);
strcpy(s[i],s[j]);
strcpy(s[j],temp);
}
}
//主函數
void main()
{
int i;
char p[N][M];
printf("輸入%d個單詞:\n",N);
for(i=0;i<N;i++)
gets(p[i]);
PX(p);
printf("排序後:\n");
for(i=0;i<N;i++)
puts(p[i]);
}
/*
===============================================================
評:
首先想到利用函數,至少可以先寫出主函數;
先定義函數PX實現排序功能,其中用到了strcmp和strcpy以及數組,然後
寫主函數,簡單調用PX函數即可完成。後續學到指標還可繼續改寫程式。
關於迴圈控制,
函數體裡面的兩個for迴圈!此處用了冒泡排序法!
===============================================================
*/
著作權聲明:博主文章可以被非商用轉載,但請務必註明出處,因水平有限,難免出錯,在此免責。
C語言之函數調用18—多字串排序