1,学生番号が偶数の人は小さい順(昇順)に並べ替える。
2,学生番号が奇数の人は大きい順(降順)に並べ替える。
という課題が出されました。
ある一部分を各自作成しなくてはならないのですが、
C言語にはまったく自信がありません。
以下のプログラムが何をやっているのかさえ理解できません。
かなりの問題児ですが、よろしくお願いします。
/************ sort 10 data *************/ #include<stdio.h> #define MAX 10 void inputnum(int num[/url]); void sortnum(int num[/url]); void outputnum(int num[/url]); main(){ int num[MAX]; inputnum(num); sortnum(num); outputnum(num); return(0); } /*********************** input 10 numbers to arry ***********************/ void inputnum(int num[/url]){ int i; for(i=0;i<MAX;i++){ printf("数値%d"=",i+1); scanf("%d",&num); } printf("数値入力完了\n"); } /************* sort 10 number *************/ #define FON 1 #define FOFF 0 void sortnum(int num[/url]){ int i; int sflg;/*sort flag*/ int work;/*work area for sorting*/ sflg=FON;/* sort flag on */ while(sflg){ sflg=FOFF;/*sort sflg off */ for(i=0;i<MAX-1;i++){ if(num>num[i+1]){ 以下からが各自考えるところです。 自分なりに作ってみましたが、さっぱりです。 手直ししていただけると嬉しいです。 work=num[n]; num[n]=num[n+1]; num[n+1]=work; } } printf("並べ替え完了\n"); } /************************* output 10 number from arry *************************/ void outputnum(int num[/url]){ int i; for(i=0;<MAX;i++){ printf("数値%d=%d\n",i+1,num); } printf("数値出力完了\n"); }