アプリ版:「スタンプのみでお礼する」機能のリリースについて

よく画面に回数を入力した分だけhello!worldと表示しましょうとありますよね?
そのプログラミングはこうなると思うのですが
#include<stdio.h>
main()
{
int i,a;

printf("回数を入力 → ");
scanf("%d",&a);
for(i=1;i<=a;i++){
printf(" hello! world ");
}
}
 改行をする場合worldのあとに\nをいれますよね。では例えば
10回表示して1行に3個づつ表示する場合はどうしたらいいですか。
考えてみたのはif(a%3==0) printf("/n");か、if(a<=3) printf("\n");
の2つが思い浮かびました。上の画面のprintf命令のあとに入れてみましたが
うまくいきません。こんなことを気にしないほうがいいのかもしれませんが
気になります。どこが間違っているのでしょうか。位置ですか。それとも
2つの案がはじめから違いますか。

A 回答 (4件)

if(a%3==0) printf("Hello! world \n");



ではだめなのでしょうか?
    • good
    • 0

if で判断するのは a でなくて i ではありませんか?

    • good
    • 0
この回答へのお礼

そのとおりでした。こんな初歩的な失敗だなんて。C言語は難しいですが
うまく実行できたら楽しいですね。

お礼日時:2001/01/24 15:04

方針は間違っていないのですが、aじゃなくてiだと思います。


------------------------------
for(i=1; i<=a; i++){
printf("hello world ");
if(i%3==0) printf("\n");
}
------------------------------
for文を置き換えてみてください。
動作確認しました。
コピペするほどの書きなおしじゃないですけどね。
    • good
    • 0
この回答へのお礼

ありがとうございます!aではなくiでした。早速実行してみました。
こてを応用して別の問題を考えているのですがまた行き詰まっていしまいました。
もしお時間があればまた教えてください。

お礼日時:2001/01/24 14:57

お!そのとおり!


if(i%3==0) printf("Hello!world \n");
ですよね。
aは変わらないじゃないですか!
相変わらずの馬鹿でございます。(笑)
    • good
    • 1
この回答へのお礼

わざわざ2度目に訂正の回答入れてくださりありがとうございました。うまくいきましたよ。しかしこれを応用するとまたま失敗してしまいました。めげずにがんばりますのでまた質問をしたときには見てやってください。

お礼日時:2001/01/24 15:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!