• ベストアンサー

C言語の問題です。何卒ご教示願います。10個の整数

C言語の問題です。何卒ご教示願います。10個の整数を入力し配列に保存した後、入力された数字の中に5の倍数が含まれているかを調べ、 含まれていた時には「5の倍数が含まれています」含まれていない時に「5の倍数が含まれていません」と表示させなさい。 なるべく早急にお願い申し上げます。 お手数ですが一からプログラミングを作成お願いします (たとえば♯include<stdio.h>からreturn 0;}とか)

質問者が選んだベストアンサー

  • ベストアンサー
  • SONICLA
  • ベストアンサー率100% (2/2)
回答No.3

先に回答した別の質問内容を読む限り、たぶん学校の宿題かなんかかな? レベル感からして、自作関数なんかは想定しないと予想します。 以下のようなのでどう? ---- #define HAIRETU_MAX 10 /* 配列の要素数 */ int main( void ) { /* 変数宣言 */ int iLoop = 0; int iSeisu[HAIRETU_MAX] = {0}; /* 整数を入力 */ printf( "整数を%d回入力して下さい\n", HAIRETU_MAX ); for( iLoop = 0; iLoop < HAIRETU_MAX; iLoop++ ){ printf( "%2d個目: ", iLoop + 1); scanf( "%d", &iSeisu[iLoop] ); } /* 5の倍数が含まれているか調べるループ */ for( iLoop = 0; iLoop < HAIRETU_MAX; iLoop++ ){ /* 対象の数字は5の倍数か? (5で割った余りが0の場合を5の倍数とみなしてチェック) ただし0と負の整数は5の倍数に含まないこととする*/ if( 0 < iSeisu[iLoop] && 0 == iSeisu[iLoop] % 5 ){ /* 5の倍数が含まれていたらprintfしてループを抜ける */ printf( "5の倍数が含まれています\n" ); break; } } /* 5の倍数が見つからずにループを回りきった? */ if( HAIRETU_MAX == iLoop ){ printf( "5の倍数が含まれていません\n" ); } return 0; } ---- コメントいっぱいつけたので、分かりやすいはずです。 整数を10個入力するのが初期化で済ませていいのなら、最初scanf用ループは不要です。 要望にかなうなら丸コピーしてもかまわないけど、ちゃんと意味理解してからにしような。

goo31290
質問者

お礼

くわしいご回答ありがとうございます。

その他の回答 (2)

回答No.2

こんなの書いたら、怒られるかもしれない。 #include <stdio.h> const char *message[] = {"含まれていません", "含まれています"}; int includeFactor(int indat[], int number, int factor) { int i; if (factor <= 0) return 0; for(i = 0; i < number; i++) if (indat[i] % factor == 0) return 1; return 0; } void get(int dat[], int number) { int i; for(i = 0; i < number; i++) { printf("input data No.%d = ", i + 1); scanf("%d", &dat[i]); } } int main() { const int factor = 5; int indat[10]; get(indat, 10); printf("%dの倍数が", factor); printf(message[includeFactor(indat, 10, factor)]); return 0; }

goo31290
質問者

お礼

ご回答ありがとうございます。 ちょっと難しそうですね。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

で「質問」はなに?

goo31290
質問者

補足

10個の整数を入力し配列に保存した後、入力された数字の中に5の倍数が含まれているかを調べ、 含まれていた時には「5の倍数が含まれています」含まれていない時に「5の倍数が含まれていません」と表示させるC言語のプログラムはどう作ればよいのでしょうか

関連するQ&A