【C言語】2時間ぐらい必死に考えたんだけどこれどこが間違ってるの?

1 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:52:50.074 ID:2fk4Jrjs0
読み込んだ整数値の数だけ+と-を交互に表示するプログラムを作成せよ。
【注】0以下が読み込まれた場合何も表示しない事

#include <stdio.h>

int main(void)
{
int no;

printf("個数を入力してください:"); scanf("%d",&no);

if(no>0){
if(no%2){
while(no>0){
if(!no%2){
putchar('+');
no–;
}
else{
putchar('-');
no–;
}
}

}

2 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:53:01.597 ID:2fk4Jrjs0
else{
while(no>0){
if(no%2){
putchar('+');
no–;
}
else{
putchar('-');
no–;
}

}
}
}
if(no==-1)
putchar('\n');

return 0;

}

24 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:00:36.717 ID:QPrgmGkX0
ごめん>>2に続いてたのねw
3 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:54:08.158 ID:62R0sAlWa
全然だめだわ
4 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:54:20.320 ID:VTyHQR6G0
noが0のときどうなる?
5 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:54:48.431 ID:NCTDSbfCa
実行したらどうなるの
6 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:54:52.701 ID:ek8cu2mcd
ifの中身が条件式じゃないじゃん
8 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:55:41.925 ID:EWgO88qS0
期待した正解は?
9 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:56:22.739 ID:DPlRxYv10
if文ネストすんなよ
だから分かりにくくなる
12 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:57:56.572 ID:dInheUIq0
インデントぐらいしろやかす
13 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:58:14.716 ID:NCTDSbfCa
偶奇わけくらいググッたらすぐ出てくるだろうに
自分でトライするのももちろん偉いけど
19 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:59:02.931 ID:2fk4Jrjs0
>>13
わからない時はさっさと回答見て進んだ方がいい?
23 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:00:32.501 ID:NCTDSbfCa
>>19
ググるって言うのは少なくともここで聞くよりは大切なこと
実際これからプログラミング書く上で分からないことあったらググりながら戦ってくわけだし
16 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:58:46.309 ID:8SQ5dh+j0
C言語知らんけど1個目と2個目のif文はand使えばええやん
17 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:58:48.495 ID:E4MGHMic0
>>1
問題文の処理のフローチャート書いてごらん
それからフローチャートをifやwhileとか制御文で
書き下していくというやり方が最初はオススメ

慣れたら最初からFor文使った方が早いって分かるけど

18 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 15:58:49.319 ID:VTyHQR6G0
初心者のくせにカッコ付けた書き方すんな
22 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:00:23.651 ID:S57b3tByd
ifの中身は省略せず == で一致条件を明示するべき
Cは0とそれ以外で条件通るけど
他の多くの言語は True False 判定だから混乱の元になる
25 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:01:32.174 ID:62R0sAlWa
1個目のelseは不要
26 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:01:41.601 ID:1yASysJJr
とりあえずオンラインコンパイラに貼り付けてリンク持って来いよ
27 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:01:53.329 ID:3Dmr0obd0
エラー文でてたら読め
意味わかんなかったらここに貼っつけてバカにされるといい
29 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:02:34.815 ID:DPlRxYv10
while文の中にif文入れんな
性能が落ちる
34 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:05:18.232 ID:SvZnVr660
条件式に違和感があると思ったらそういうことか・・・
35 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:05:24.995 ID:CjtTMm+r0
無駄は多いけど普通に動きそうじゃね?
何が動かないの?
36 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:06:01.643 ID:5Pf6tK2ar
whileのスコープおかしい
37 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:07:27.041 ID:xV6J+AiC0
ifって0じゃなきゃ入っちゃうんだっけ?コンパイラによる?
つーかtrueかfalseにしないとバグの元だし頭がおかしくなってしぬ
40 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:10:34.186 ID:DPlRxYv10
>>37
コンパイラーによらない
0以外なら真がC言語の仕様
if文の()内には必ず条件式を書けというのは、間違いを防ぐための作法
43 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:11:14.818 ID:S57b3tByd
>>37
Cはこういうルールになっている
≠0、真
=0、偽
38 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:08:51.765 ID:frZNE2Gc0
gccとかガ●ジだからやめとけ
Rust最強
41 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:10:35.134 ID:7o1So2xY0
奇数の時だけうまくいかないな
44 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:11:25.014 ID:CjtTMm+r0
あぁこれね
if(!no%2){
こうだね
if(!(no%2)){
46 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:12:50.495 ID:7o1So2xY0
>>44
それだ
俺もいまわかった

ちゃんと条件演算子使ってないとかいうのは原因ではない

57 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:14:58.422 ID:kgzJkWkPd
>>46
まあでも結局素直に条件演算子使って書いてれば起こらなかった間違いじゃない?
45 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:12:49.411 ID:QPrgmGkX0
for(int i = 0; i < no; i++){
printf(“%s “,(i%2) ? “+” : “-“);
}

仕様がよくわからんけどこんなんじゃあかんの?

48 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:13:04.097 ID:Epue7gWq0
プログラム言語を勉強したことない俺には分からないよ(´・ω・`)
51 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:13:42.070 ID:JVYjiJBza
>>48
お前以外
52 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:14:21.213 ID:S57b3tByd
>>51
辛辣www
56 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:14:55.782 ID:Epue7gWq0
>>51
そんなこと言うなよ…(´・ω・`)
49 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:13:21.881 ID:JVYjiJBza
このスレのお前らはかっこいい
50 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:13:40.896 ID:7o1So2xY0
!no%2って書くと(!no)%2になる
53 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:14:27.548 ID:gojKiWhd0
('-')
可愛い
55 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:14:46.946 ID:XlEmD3AGd
条件演算子を使えば防げたエラーでは????
58 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:16:04.396 ID:XlEmD3AGd
なんで勉強中に格好つけた書き方で書いちゃうのかが分からん
基本に忠実が一番の近道だってのに
60 名前:匿名のゴリラ 投稿日時:2020/05/07(木) 16:17:04.797 ID:y/6RiBeo0
何層にもなったifのネスト見るとイライラするからやめよう

コメント一覧

タイトルとURLをコピーしました