• ベストアンサー

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

  • C言語の問題です。よろしくお願いいたします。

    C言語の問題です.。10個の整数を入力し配列に保存した後、入力された数字の中に5の倍数が含まれているかを調べ、 含まれていた時には「5の倍数が含まれています」含まれていない時に「5の倍数が含まれていません」と表示させるプログラムを作りなさい。 自分なりに考えて作ったのですが、以下の通りでよろしいのでしょうか? #include <stdio.h> main() { int i; double c[10]; for (i = 0; i < 10; i++) { printf("整数を10個入力してください.(%d つ目) : ", i+1); scanf("%lf", &c[i]); } if(c[i] % 5 == 0){ printf("5の倍数が含まれています\n"); } else{ printf("5の倍数が含まれていません\n"); } return 0; }

  • c言語問題です。よろしくお願い致します。キーボード

    c言語問題です。よろしくお願い致します。キーボードから社会、理科の点数を整数として入力し、高い方の点数を表示しなさい。 (同じ点数の時はどちらの点数が表示されてもよい) なにぶん初心者な者でしてお手数ですが一からプログラミングを作成お願いします (たとえば♯include<stdio.h>からreturn 0;}まで、とか) なるべく早急にお願いいたします。 (fgets関数などの関数は使わずにすむ方法があればそれもお願いできれば)

  • C言語のプログラミング配列・forを使った検索

    C言語のプログラミングで、配列とforを使った検索の表し方がわかりません。 numにはキーボードから任意の数字を入力し、 1ならば25、2ならば30、、、といったように 対応する数字を表示させ、1行目にない数字が入力された時は 「NoData」と表示させたいのですが、上手くいきません; 本当はもっと配列が多いのですが4つでやってみると #include <stdio.h> main() { int data[2][4]{{1,2,3,4},{25,30,45,50}} , num , i ; printf("num?"); scanf(&num); for(i=0; i>4;i++) if(num== data[0][i]){ printf("number is \n",data[1][i]);} else {printf("NoData\n"); } return0 ; } こうかと思ったのですが上手くいきません、、、 どなたかお願いします!

  •  現在、私はC言語を学んでいます。

     現在、私はC言語を学んでいます。  プログラミングの初期の初期の問題なんですが、 「Hello World」という有名なプログラムがありますよね? それについての質問です。 #include<stdio.h> main() { printf("Hello World"); return 0; } も #include<stdio.h> main(void) { printf("Hello World"); return 0; } も #include<stdio.h> int main() { printf("Hello World"); } もちゃんと表示できます。 ここで質問です。 int main(void) int main() main() main(void) はどう違うんですか? あと、 return 0; はあっても無くてもいいようなんですが どういう意味があるんでしょうか?

  • C言語

    0から29までの整数を順に出力する。ただし,出力する数が7の倍数の場合には,その数から7引いた値を出力せよ。 という問題で7の倍数の場合7引くという条件の付け方がわかりません ちなみに29までの整数の出力するというところまではできました #include <stdio.h> int main(void) { int A, B = 29; for (A = 0; A <= B; A++) printf("%3d",A); putchar('\n'); return (0); } ここまでで7倍数の場合7引くという条件をどのようにつけたらいいのかわかりません。どなたか教えてくださいお願いします。

  • c言語なのですが

    c言語なのですが #include<stdio.h> main() { int a; printf("整数を5回足し算する\n"); scanf("%d %d",&a); printf("a*5=%d\n",a*5); return(0); } でエラーが起こります どこを修正すればいいのでしょうか

  • c言語 最大公約数

    C言語のプログラムについてです。 2つの正の整数x,y(任意)の最大公約数、最小公倍数を求めるプログラムを作ってください。(それぞれ、1個ずつ) ただし、関数は使わないでください。#include<stdio.h>のみ 回答よろしくお願いいたします。

  • C言語でscanf()が先に実行されるのはなぜですか?

    C言語でscanf()が先に実行されるのはなぜですか? #include <stdio.h> int main(void){ int intNum; printf("整数を入力してください:\n"); scanf("%d", &intNum); printf("入力値は:%d\n",intNum); return(0); }

  • C言語について教えてください。

    初心者です。宜しくお願いいたします。 /* yuki */ #include <stdio.h> int main() { int hako; char *p[3] = { "kkkkk","oooo","llll" }; for (hako=0;hako<3;hako++){ printf("ポインタ表示%s\n",p[hako]); } return 0; } 整数でポインタの中身を配列出力しているのですが、これをインクリだけで表示することってできないでしょうか??本当はポインタにアドレス入れて入力をインクリしてどんどん入力したいとおもってます。 表示は配列で出したいとおもいます。(他に方法があるのかわからないです^^;) それと、入力なのですが、scanfですと入力待ちになるのですが、getsですとスルーされてしまうことがあるのです。玄人の方々は、これにはいろいろ問題があるみたいに聞いた事があります。それってなぜなのでしょう?? 私の素人感覚では上の二つの使いかたは、変数とキャラ型での使いかたっておぼえました。両方とも数字なのは承知してます。できるときと出来ないときがあるので、そのときになぜ??っておもうことがあるのです。 どうかご指導お願いいたします。

  • C言語の問題

    最近プログラミングの勉強を始めました。 キーボードから入力する整数を「商品の税抜き価格」とする。 税率を5%とし「税込価格(整数)」、「税金(整数)」を計算し画面に表示せよ。(端数は切り捨て) という問題なんですが #include <stdio.h> int main(void) { int data, result, a; data = scanf("%d", &data); result = data * 1.05; a = result - data; printf("%d %d\n", a, result); return (0); } このように考えたのですが、全くうまくいきません。 どこが間違っているかなど、ご指導をお願いしたいと思います。 また、上のものを実数(浮動小数)を読み込み、それを2倍した結果を表示するようにしたいのですが、これに関するアドバイスもいただけると嬉しいです。 初歩的な質問になってしまいますが、回答よろしくお願いします。

専門家に質問してみよう