- 締切済み
プログラミングの質問です。
c言語でお願いします。 以下の結果が得られるようなプログラムを書いてください。 期末試験では必ずフローチャートを書いてください。また、フローチャートが 書けない場合は、どういう順番でプログラムを書けば よいかを書いてください。 1.数字を5個続けて入力させ、大きい順に並び替え、出力する。(配列を使う事) プログラミングわからないのでお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- maiko0318
- ベストアンサー率21% (1483/6969)
>実行できません。 私の環境では実行できています。 何がどう実行できないのですか?
- maiko0318
- ベストアンサー率21% (1483/6969)
できたよ。ほれ #include <stdlib.h> /* ソート関数 */ int int_sort( const void * a , const void * b ) { /* 引数はvoid*型と規定されているのでint型にcastする */ if( *( int * )a > *( int * )b ) { return -1; } else if( *( int * )a == *( int * )b ) { return 0; } return 1; } /* メイン関数 */ main() { size_t data_cnt , i; int data[5]; /* データ件数を求める */ data_cnt = sizeof( data )/sizeof( data[0] ); /* データを設定する */ for( i = 0 ; i < data_cnt ; i++ ) { scanf("%d",&data[i]); } /* 設定されたソート前のデータを参照する */ for( i = 0 ; i < data_cnt ; i++ ) { printf( "data[%d]=%d\n" , i , data[i] ); } /* ソート処理 */ qsort(( void * )data , data_cnt , sizeof( data[0] ) , int_sort ); /* ソート後のデータを参照する */ for( i = 0 ; i < data_cnt ; i++ ) { printf( "data[%d]=%d\n" , i , data[i] ); } }
補足
実行できません。