當前位置:編程學習大全網 - 網站源碼 - 關於排序算法

關於排序算法

沒有必要這麽寫,壹般都不這麽寫的。

以下的程序已經改寫,運行通過,運行截圖中上例是原來的程序,第二次運行是改進後的程序運行的結果:

#include <stdio.h>

#define ?N 80

void fun(char ?s[], int ?n)

{

int ?i, j;

char ?ch;

for (i=0; i<n-1; i++)

for (j=i+1; j<n; j++)

if (s[i] < s[j])

{

ch = s[j];

s[j]=s[i];

s[i] = ch;

}

}

main()

{

int ?i = 0, strlen = 0;

char ?str[N];

printf("\nInput a string:\n");

gets(str);

while (str[i] != '\0')

{

strlen++;

i++;

}

fun(str, strlen);

printf("\n********* display string *********\n");

puts(str);

}

在程序算法不變的前提下,程序可以簡化為:

#include <stdio.h>

#include <string.h>/*使用庫函數*/

#define ?N 80

void fun(char ?s[])

{

int ?i, j,n;

char ?ch;

n=strlen(s);

for (i=0; i<n-1; i++)

for (j=i+1; j<n; j++)

if (s[i] < s[j])

{

ch = s[j];

s[j]=s[i];

s[i] = ch;

}

}

main()

{

int ?i = 0;

char ?str[N];

printf("\nInput a string:\n");

gets(str);

fun(str);

printf("\n********* display string *********\n");

puts(str);

}

  • 上一篇:用作生產環境服務器,FreeBSD和CentOS相比有哪些優劣勢
  • 下一篇:APP定制大概需要多少錢?
  • copyright 2024編程學習大全網