こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

プログラミングの質問です。

c言語でお願いします。

以下の結果が得られるようなプログラムを書いてください。

期末試験では必ずフローチャートを書いてください。また、フローチャートが
書けない場合は、どういう順番でプログラムを書けば
よいかを書いてください。

1.数字を5個続けて入力させ、大きい順に並び替え、出力する。(配列を使う事)


プログラミングわからないのでお願いします。

投稿日時 - 2013-12-25 12:12:25

QNo.8400125

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>実行できません。

私の環境では実行できています。
何がどう実行できないのですか?

投稿日時 - 2013-12-25 18:46:53

ANo.1

できたよ。ほれ

#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] );
}
}

投稿日時 - 2013-12-25 12:31:33

補足

実行できません。

投稿日時 - 2013-12-25 13:07:47

あなたにオススメの質問