nの要素の中にkで割り切れる数がいくつあるか返

Writer: admin Type: fidel Date: 2019-01-18 00:00
nの要素の中にkで割り切れる数がいくつあるか返す関数dowwを作成する問題です。どうにか頑張ってここまで作成したのですが、エラーが4つほど出て来てしまいます。<エラー>expected ';' in 'for' statement specifier for(i<=7;i++){use of undeclared identifier 'n' if(n[j]%k==0;j++);extraneous ')' before ';' if(n[j]%k==0;j++);warning: relational comparison result unused [-Wunused-comparison] for(i<=7;i++){error: expected expression doww(int k);おそらく、ifの部分の計算がおかしいのかなと思っています。改善点がわかる方詳しく教えていただきたいです。初心者です#include <stdio.h>int doww(int k){ int count=0; int i=1; int j=1; for(i<=7;i++){ if(n[j]%k==0;j++); count=count+1; } return(count);}int main(void){ int n[7]={115,32,20,54,63,21,18}; int k,count; printf("整数1:"); scanf("%d", &k); doww(int k); printf("割り切れる数は%d個です。\n", count); return(0);}共感した0###>nの要素の中にkで割り切れる数がいくつあるか返す関数dowwこうします***#include <stdio.h>int doww(int n[], int size, int k){ int i; int count = 0; for(i = 0; i < size; i++){ if(n[i] % k == 0){ //printf("%d\n", n[i]); count++; } } return count;}int main(void){ int n[7] = {115,32,20,54,63,21,18}; int size = 7; int k, count; printf("整数1:"); scanf("%d", &k); count = doww(n, size, k); printf("割り切れる数は%d個です。\n", count); return 0;}ナイス0
###ありがとうございます。###ぱっと見。for も if も、文法的におかしいです。for(i<=7;i++){for文はセミコロンで区切った3式が必要。for (①; ②; ③) 初期値式①がないです。if(n[j]%k==0;j++);if 文がとるのは条件式1つ。セミコロンで区切って2つめ... は、あり得ない。;j++ はとっぱらうこと。あと、この if 文の行末のセミコロンは、とっぱらうこと。あってもコンパイルエラーにはならないけど、意味が変わります。if (条件式)___ 条件式が真のとき実行したい文;; だけでも 空文 として文法的にはOKなので、こうなってしまう。if (条件式)___ ; // 何もしない条件式が真のとき実行したい文; // if とは無関係に実行ナイス0

 

TAG