質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1217閲覧

for文を2つ使用したい

KYUURI

総合スコア46

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2021/12/13 06:59

編集2021/12/13 07:30

for文を2つ使用して結果を表示したいのですがどのようにすればよいでしょうか

出力したい例
1回目:0
2回目:0
3回目:1
4回目:0
5回目:1
6回目:1
.
.
.

現状
1回目:
0
0
1
0
1
0
.
.
.

#include <stdio.h> #include <stdlib.h> #include<time.h> int main(void) { int k; int r; int i; srand((unsigned)time (NULL)); for (i = 1; i < 5; i++) { printf("%d回目:\n",i); for(k = 1; k <= 10; k++) { if(rand()<=RAND_MAX*0.5) { r=1; } else { r=0; } printf("%d\n",r); } return 0; } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/12/13 07:04

「期待する結果」と「現状の問題点」はそれぞれどのようなものでしょうか?
KYUURI

2021/12/13 07:16 編集

期待する結果 1回目:0 2回目:0 3回目:0 . . . 現状 1回目: 0 0 0 . . . です
BeatStar

2021/12/13 07:15 編集

人に見せるのなら、せめてインデントぐらいはどうにかしましょう。 今の状態は、 僕はぷろぐらみんぐに興 味が あ る   のですが、どうやっても できません。 どのように すべき で し ょうか? みたいなものですすごい読みづらいです。編集してください。
maisumakun

2021/12/13 07:16

全部0なのは意図通りなのですか?
fana

2021/12/13 07:17

> 期待する結果 > 1回目:0 > 2回目:0 > 3回目:0 これに for を2つ使う必要があるの?
KYUURI

2021/12/13 07:18

0なのは意図通りです 0の箇所を変更すれば、1も出力されます
KYUURI

2021/12/13 07:31

全て0だと分かりにくかったので、0を0.5に変更しました
BeatStar

2021/12/13 07:39

そもそもの目的を書いてください。もしかしたらXY問題とかになっている可能性がありますから。
KYUURI

2021/12/13 07:44 編集

for文1つにして、printf("%d回目: %d\n",k,r);で解決できました
guest

回答2

0

printf("%d回目:\n",i);

わざわざ回目:のあとに改行出力してますね

投稿2021/12/13 07:29

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KYUURI

2021/12/13 07:33

改行出してますね...
KYUURI

2021/12/13 07:33

変更しましたが 1回目: 0 0 0 . . . と出力されました
y_waiwai

2021/12/13 07:34

そりゃfor文の数だけ数字が出力されます。 2個めのforは何をしようとしてるんでしょう
KYUURI

2021/12/13 07:37

2つ目は乱数の出力を回数分出力しようとしてます
y_waiwai

2021/12/13 07:46

そのとおり、回目:のあとに、forの回数分出力されてますね
guest

0

ベストアンサー

逆に、for2つである必要がありません。

C

1for (i = 1; i < 5; i++) 2 { 3 printf("%d回目:%d\n", i, 0); 4}

投稿2021/12/13 07:21

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KYUURI

2021/12/13 07:26

今回の例だと0のみなのですが、0の値を0.5に変更すると0と1の値が平均的に同じ数出力されます その場合の例は 1回目:0 2回目:1 3回目:0 4回目:0 5回目:1 6回目:1 みたいな感じになります
maisumakun

2021/12/13 07:34

それでも二重ループである必要性はなったくないです(どうしても2つ使わないといけないのであれば、「意味もなく書く」ことで消費することは可能ではあります)。
KYUURI

2021/12/13 07:44 編集

普通にprintf("%d回目: %d\n",k,r);にすればよかったですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問