構造体のソート



2つのメンバー変数、1つの整数n、1つの文字型のcを持つ構造体を定義し、5つの要素を持つ配列を構造体タイプで宣言し、ランダムに初期化し、メンバー変数nに基づいて小さいものから大きいものに並べ替え、出力します.
 
#include 
#include 


struct {
    int n;
    char c;
}myStr[5];


int main(int argc, const char * argv[]) {

    int i;
    for (i = 0; i < 5; i++) { //     
        
        myStr[i].n = rand() % 10;
        myStr[i].c = (rand() % ('z' - 'a')) + 'a';
        
//        scanf("%d%c",&myStr[i].n,&myStr[i].c);
    }
    
    int j,k;
    for (k = 5; k >= 0; k--) { //     
        
        for(j = 0; j < k - 1; j++){
        
            int  tempN;
            char tempC;
        
            if (myStr[j].n > myStr[j+1].n) { //
            
                tempN = myStr[j].n;
                tempC = myStr[j].c;
            
                myStr[j] = myStr[j + 1];
            
                myStr[j + 1].n = tempN;
                myStr[j + 1].c = tempC;
            
            }else if((myStr[j].n == myStr[j + 1].n) && (myStr[j].c > myStr[j + 1].c)){ //             
            
                tempC = myStr[j].c;
                myStr[j].c = myStr[j + 1].c;
                myStr[j + 1].c = tempC;
            }
        }
    }
    
    int m;
    for (m = 0; m < 5; m++) {
        printf("%d%c ",myStr[m].n,myStr[m].c);
    }
    return 0;
}

皆さんと交流して私のメールアドレスを検討することを歓迎します:[email protected]