程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 小寫字母-排序算法用什麼最好?

小寫字母-排序算法用什麼最好?

編輯:編程綜合問答
排序算法用什麼最好?

題目要求:隨機產生70個字符放在一個數組裡,字符只能是數字或英文字母(一共62個字符),然後用程序將它們重新排序並打印出來。

優先排序規則:數字最優先,字母按照字母表順序,比如 a 優先於 b 打印,但大寫字母優先於小寫字母!

最佳回答:


#include
#include

#define MAX 70
#define BIG 62

int temp[BIG];
void main()
{
int arr[MAX];
int i=0,j=0;

for (i=0; i<MAX; i++)
{
    arr[i] = rand()%BIG;
}
printf("隨機得到的數值數組如下:\n");
for (i=0; i<MAX; i++)
{
    if (arr[i] >= 10 && arr[i] < 36)
        printf(" %c",'A'+arr[i]-10);
    else if (arr[i] >= 36)
        printf(" %c",'a'+arr[i]-36);
    else printf(" %c",'0'+arr[i]);
}
printf("\n\n");

for (i=0; i<MAX; i++)
{
    temp[arr[i]]++;
}
for (i=0; j<MAX; i++)
{

fuwei:
if (temp[i] > 0)
{
arr[j++] = i;
temp[i]--;
goto
fuwei;
}
}

printf("經過排序後數值數組如下:\n");
for (i=0; i<MAX; i++)
{
    if (arr[i] >= 10 && arr[i] < 36)
        printf(" %c",'A'+arr[i]-10);
    else if (arr[i] >= 36)
        printf(" %c",'a'+arr[i]-36);
    else printf(" %c",'0'+arr[i]);
}
system("pause");

}


上面是源代碼。下面是運行圖片
圖片說明

題主若有疑問的話,請私信我,謝謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved