#25866: C language 簡易寫法


22207807 (會打Code的貓)

學校 : 逢甲大學
編號 : 156777
來源 : [140.134.241.201]
最後登入時間 :
2023-03-14 12:33:09
a225. 明明愛排列 | From: [42.73.232.209] | 發表日期 : 2021-06-28 17:52

#include<stdio.h>

int main () {

int n,tem;

while(scanf("%d",&n) != EOF) {

int s[1000] = {0},p[1000] = {0};

for(int i = 0; i < n; i++) {

scanf("%d",&s[i]);

tem = s[i];

p[i] = s[i];

while(tem != 0) {

p[i] %= 10;

tem /= 10;

}

}

for(int i = 1; i < n; i++) {

for(int j = 0; j < n-i ; j++) {

if(p[j] == p[j+1] && s[j] < s[j+1] || p[j] > p[j+1]) {

tem = p[j];

p[j] = p[j+1];

p[j+1] = tem;

 

tem = s[j];

s[j] = s[j+1];

s[j+1] = tem;

}

}

}

for(int i = 0; i < n; i++) {

printf("%d ",s[i]);

}

printf("\n");

}

return 0;

}

s[1000]先複製給p[1000]

求出每項p[]的個位數

然後比大小,p[]在交換的時候s[]也要一起,不然會有問題~

 
ZeroJudge Forum