ページ 1 / 1
たすけてください
Posted: 2018年3月02日(金) 15:55
by genuin
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: たすけてください
Posted: 2018年3月02日(金) 15:58
by たすけて
ごめんなさお
ここのサイトの使い方になれてません
上のソースに間違いがあるかみてほしいです
お願いします
本当におねがいします
Re: たすけてください
Posted: 2018年3月02日(金) 16:39
by YuO
コンパイラに通せばすぐにわかりそうですが……。
手元にコンパイラがなくても,標準的な範囲でコードを試す (実行可能) ことがネット上でできたりします。
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にすると,必ず割り切れるため,素数ではないと判定されます。
Re: たすけてください
Posted: 2018年3月05日(月) 00:24
by fabersid
! | メッセージ from: fabersid |
私なりの答えが書かれています。
答えは見たくないというならスポイラーを開かないでください。 |
► スポイラーを表示
改造しまくった短い答え
コード:
#include<stdio.h>
int main(){
int ans,loop;
printf("値を分析します\n好きな数字を入力してください。\n");
scanf("%d",&ans);
printf("%s数です。\n",ans%2==0?"偶":"奇");
for(loop=2;loop<ans && ans%loop!=0;loop++);
printf("素数で%s。\n",loop==ans?"す":"はありません");
return 0;
}
► スポイラーを表示
丁寧に書いた答え
コード:
#include<stdio.h>
int main(){
int ans,loop;
printf("値を分析します\n好きな数字を入力してください。\n");
scanf("%d",&ans);
if(ans%2==0){
printf("偶数です。\n");
}else{
printf("奇数です。\n");
}
if(ans==1){
printf("素数ではありません。\n");
return 0;
}
for(loop=2;loop<ans;loop++){
if(ans%loop==0){
printf("素数ではありません。\n");
return 0;
}
}
printf("素数です。\n");
return 0;
}