當前位置:編程學習大全網 - 編程語言 - C語言編程題,輸入5個字符串,然後排序

C語言編程題,輸入5個字符串,然後排序

#define LINEMAX 20/*定義字符串的最大長度*/

int main()

{int i;

char**p,*pstr[5],str[5][LINEMAX];

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

pstr<i>=str<i>;/*將第i個字符串的首地址賦予指針數組pstr的第i個元素*/

printf("input 5 strings:\n");

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

scanf("%s",pstr<i>);

p=pstr;

sort(p);

printf("strings sorted:\n");

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

printf("%s\n",pstr<i>);

}

sort(char**p)/*冒泡法對5個字符串排序函數*/

{int i,j;

char*temp;

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

{for(j=i+1;j<5;j++)

{if(strcmp(*(p+i),*(p+j))>0)/*比較後交換字符串地址*/

{temp=*(p+i);

*(p+i)=*(p+j);

*(p+j)=temp;

}

}

}

return 0;

}

擴展資料:

printf()函數的調用格式為:printf("<格式化字符串>",<參量表>)。

其中格式化字符串包括兩部分內容:壹部分是正常字符,這些字符將按原樣輸出;另壹部分是格式化規定字符,以"%"開始,後跟壹個或幾個規定字符,用來確定輸出內容格式。

參量表是需要輸出的壹系列參數,其個數必須與格式化字符串所說明的輸出參數個數壹樣多,各參數之間用","分開,且順序壹壹對應,否則將會出現意想不到的錯誤。

比如:

int a=1234;

printf("a=%d\n",a);

輸出結果為a=1234。

scanf()是C語言中的壹個輸入函數。與printf函數壹樣,都被聲明在頭文件stdio.h裏,因此在使用scanf函數時要加上#include<stdio.h>。

int scanf(const char*restrict format,...);

函數scanf()是從標準輸入流stdin(標準輸入設備,壹般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字符,並保存在對應地址的變量中。

如:

scanf("%d%d",&a,&b);

函數返回值為int型,如果a和b都被成功讀入,那麽scanf的返回值就是2。

  • 上一篇:怎麽設計壹個分頻器,可實現2分頻、4分頻、8分頻、16分頻輸出的電路
  • 下一篇:tcl全自動洗衣機程序設置怎麽調
  • copyright 2024編程學習大全網