たすけてください

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
genuin

たすけてください

#1

投稿記事 by genuin » 6年前

1 #include<stdio.h>
2 int main(){
3 int ans,judge,loop;
4 printf("値を分析します\n好きな数字を入力してください。\n");
5 scanf("%d",&ans);
6 ans%2=judge;
7 if(judge=0){
8 printf("偶数です\n");
9 }else{
10 printf("奇数です\n");
11 }
12 for(loop=1;loop<ans;loop++){
13 ans%loop=judge;
14 if(judge=0){
15 printf("素数ではありません。\n");
16 ans=loop;
17 return 0;
18 }
19 }
20 printf("素数です。\n");
21 return 0;
22 }
~

たすけて

Re: たすけてください

#2

投稿記事 by たすけて » 6年前

ごめんなさお
ここのサイトの使い方になれてません

上のソースに間違いがあるかみてほしいです
お願いします
本当におねがいします

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: たすけてください

#3

投稿記事 by YuO » 6年前

コンパイラに通せばすぐにわかりそうですが……。
手元にコンパイラがなくても,標準的な範囲でコードを試す (実行可能) ことがネット上でできたりします。

ideoneでの実行例

コード:

prog.c: In function ‘main’:
prog.c:6:6: error: lvalue required as left operand of assignment
 ans%2=judge;
      ^
prog.c:7:1: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
 if(judge=0){
 ^~
prog.c:13:9: error: lvalue required as left operand of assignment
 ans%loop=judge;
         ^
prog.c:14:1: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
 if(judge=0){
 ^~
  • 6行目,13行目 (エラー)
    代入は「右辺」を「左辺」に代入します。これらの行では,ans%2やand%loopにjudgeを代入しようとしているのでコンパイルエラーになります。
  • 7行目,14行目 (警告)
    警告内容とは異なりますが,Cにおける等値比較は「==」を使います。「=」ではありません。
  • 12行目 (コンパイラはエラーを出していませんが,ロジック上の誤り:いわゆるバグ)
    素数は「1」と「自身」以外の数で割りきれない自然数を言います。ループの開始を1にすると,必ず割り切れるため,素数ではないと判定されます。

fabersid
記事: 42
登録日時: 6年前

Re: たすけてください

#4

投稿記事 by fabersid » 6年前

 ! メッセージ from: fabersid
私なりの答えが書かれています。
答えは見たくないというならスポイラーを開かないでください。
► スポイラーを表示
► スポイラーを表示

返信

“C言語何でも質問掲示板” へ戻る