アルファベットを大文字小文字含め並び替える[C言語]

昇順で表示。
降順は、b < dにする


---------------------------------
#include 
#define MAX_SIZE 27

void charsort(char c[], int max_size){

	int i, j;
	char dummy;
	int b, d;

	for(i = 0; i < max_size - 1; i++){
		for(j = i + 1; j < max_size; j++){
			
			b = (int)c[i];
			d = (int)c[j];
			if(b > d){
				dummy = c[j];
				c[j] = c[i];
				c[i] = dummy;
			   }
			}
	}

}


int main(void){

	char c[MAX_SIZE] = {'k', 'o', 'e', 'i', 'b', 'n', 'f', 'h', 'w', 
		    'a', 'z', 'm', 'c', 'j', 's', 'r', 'g', 'y',
		    'v', 'd', 'l', 'p', 'q', 't', 'u', 'x'
		
		};
	int i;

	printf("ソート前\n");
	for(i = 0; i < MAX_SIZE; i++){
		printf("%c", c[i]);
	}
	charsort(c, MAX_SIZE);
	
	printf("\nソート後\n");
	for(i = 0; i < MAX_SIZE; i++){
		printf("%c", c[i]);
	}
	return 0;
}

結果
ソート前
koeibnfhwazmcjsrgyvdlpqtux
ソート後
abcdefghijklmnopqrstuvwxyz




おすすめ

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください