アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (3件)

で「質問」はなに?

この回答への補足

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

補足日時:2014/07/18 07:14
    • good
    • 0

こんなの書いたら、怒られるかもしれない。



#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;
}
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/07/18 10:20

先に回答した別の質問内容を読む限り、たぶん学校の宿題かなんかかな?


レベル感からして、自作関数なんかは想定しないと予想します。
以下のようなのでどう?
----
#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用ループは不要です。
要望にかなうなら丸コピーしてもかまわないけど、ちゃんと意味理解してからにしような。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/07/18 10:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!