- 締切済み
80~100、70~79、60~69、59以下の個数を出力したいのですが・・・
1~100の任意の個数を1次元配列に読み込み、80~100、70~79、60~69、59以下の個数をそれぞれ出力するプログラミングを作りたいのですが、 よくわかりません…出力例の様に表示しif等、簡単な文を使って何とかできないでしょうか?宜しくお願いします。 出力例) 80~100:1 70~79:0 60~69:1 59以下:3
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yama5140
- ベストアンサー率54% (136/250)
>1~100の任意の個数を1次元配列に読み込み、 下のソースは、 ・1~100の任意の「数」をコマンドラインから入力 ・仕様どおりに階級分けし、1次元配列にカウントアップ しています。 ☆質問主旨を大きく読み替えてみました。はずしていましたら無視してください。 #include <stdio.h> int main() { int iVal, iRank[ 4 ] = { 0 }; printf( "0 ~ 100 の範囲で入力、他で終了\n" ); while( 1 ){ scanf( "%d", &iVal ); if( iVal < 0 ) break; if( iVal > 100 ) break; if( 80 <= iVal ) iRank[ 0 ]++; if( ( 70 <= iVal ) && ( iVal < 80 ) ) iRank[ 1 ]++; if( ( 60 <= iVal ) && ( iVal < 70 ) ) iRank[ 2 ]++; if( iVal < 60 ) iRank[ 3 ]++; } printf( "80~100:%3d\n", iRank[ 0 ] ); printf( "70~ 79:%3d\n", iRank[ 1 ] ); printf( "60~ 69:%3d\n", iRank[ 2 ] ); printf( "59 以下:%3d\n", iRank[ 3 ] ); return( 0 ); } 注:インデントに全角空白を用いています。コピペ後、タブに一括変換して下さい。
- tyome2
- ベストアンサー率21% (28/132)
こんばんわ。 課題大変そうですね。 「80~100、70~79、60~69、59以下の個数」で検索するとヒットしますよ。