C言語についての質問
「キーボードから10個の整数を入力し、"TOP"と入力された場合は降順に、"BOTTOM"と入力された場合は昇順に並び変えるプログラムを作成せよ。」という問題で、下記のようなプログラムを組みました。これを以下のようなプログラムに変更したいのですが分からず困っています。
「キーボードから整数を入力する。"end"と入力されたらキーボードからの入力を終了し、"TOP"と入力されたら降順に、"BOTTOM"と入力されたら昇順に並び変えるプログラムを作成せよ。昇順または降順の並べ替え結果に加えて,中央値を求めて表示すること.」
正しいプログラムを教えてください。
include<stdio.h>
include<string.h>
int main(void){
int i, j, tmp;
char a[100];
/* 数値を格納する配列 */
int number[10];
/* 配列に格納する数値を入力 */
printf("整数を10個入力して下さい:");
for (i=0; i<10; ++i){
scanf("%d", &number[i]);
}
printf("降順はTOP、昇順はBOTTOMを入力して下さい:");
scanf("%s",&a);
if(strcmp(a,"TOP")==0){
for (i=0; i<10; ++i) {
for (j=i+1; j<10; ++j) {
if (number[i] < number[j]) {
tmp = number[i];
number[i] = number[j];
number[j] = tmp;
}
}
}
printf("降順ソートした数値\n");
for (i=0; i<10; ++i)
printf("%d\n", number[i]);
}
else if(strcmp(a,"BOTTOM")==0){
for (i=0; i<10; ++i) {
for (j=i+1; j<10; ++j) {
if (number[i] > number[j]) {
tmp = number[i];
number[i] = number[j];
number[j] = tmp;
}
}
}
printf("降順ソートした数値\n");
for (i=0; i<10; ++i)
printf("%d\n", number[i]);
}
return 0;
}