前提・実現したいこと
学校のプログラミングの課題で以下のようなものが出ました。
整数を入力してください:4
出力結果 1234
567
89
0
出力結果 123456789
01234567
8901234
567890
12345
6789
012
34
5
一段目に1から入力した数字までを表示して、2段目からは入力した数字を1づつ増やしていきそれを10で割った余りを直角三角形のように表示する、というものです。
これをfor文の多重ループで作れというのですが、全く分かりません。
教えてくださいお願いします。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
int main(){ int i, j, len; puts("左上直角二等辺三角形を作ります。"); printf("短辺:"); scanf("%d", &len); for (i = 1; i <= len; i++){ for (j = len; j >= i; j--){ putchar('*'); } puts(""); } return 0; } コード
試したこと
「*」でこの直角三角形を表示することはできるのですが、
数字が1づつ増えていくということを表現できません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
https://teratail.com/help/avoid-asking より抜粋
> コードをください・デバッグしてください等の丸投げの質問
>
> 何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。
> 問題や質問は実際に調査や作業に取り組み、具体的なところで生まれると考えるためです。
> まずは実際に作業に取り組み、つまづいたところで投稿をしてみてください。
> 「*」でこの直角三角形を表示することはできるのですが、
でしたら、できたところとしてまずそのコードを提示しましょう(その時点でforの2重ループになっていませんか?)。
すでに経験されていることと思いますが、プログラムのソースコードは一文字違っても期待しない動作をしたり、またコンパイルすら出来ない(言語の規則に則っていない)ものとなります。
あなたが書いたプログラムに似た、しかし全然違う何かは、今回のQ&Aについて役に立ちません。あなたが実際に動かしてみたもの、あるいは動かそうとしているもの「そのもの」を提示してください。少なくともCのプログラムで、文字/文字列とコメント以外でいわゆる全角文字が登場することはありません。
https://teratail.com/help/question-tips#questionTips3-5-1
ソースコードはソースコードとしてわかるようにコードブロックにしてください。私には"include stdio.h"という見出しが付いているだけにしか見えません。
すいません。コードを追記しました。このように*で表現はできるのですが、数字が1ずつ増えていくというのがよく分かりません。
・「*」の代わりに数字を表示すればよいだけ
・表示すべき数字は,1文字ごとに変わる(その記述は回答群の中にもある)
ここまで材料が揃っていて,現状「何がわからないのか」がわからない.
回答7件
あなたの回答
tips
プレビュー