2重ループを利用して、以下のようなプログラムを作成を教えてください
A
AB
ABC
・
・
・
ABCDEFG...YZ
c言語プログラムを作成でわかりません
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: c言語プログラムを作成でわかりません
こんにちは
AからZまで順番に表示する文字を増やしていくというプログラムでよろしいでしょうか?^^;
masaさんがなんの言語を使うかわからないのでアルゴリズムについてお話します。(タイトルに思いっきり書いてましたね^^;申し訳ないorz)
おそらくですが、外側のループで何文字表示するかを計算し、内側のループで実際に文字を表示するものだと思います。(思いました。違ったら言ってください^^;)
のような感じでかけないかな、と思います。
print 'A' + j と言うのはAのアスキーコードにjを足した文字を表示する という意味です。
アスキーコードは連続しているので、例えば ’A'+1 は B になるはずです。(詳しくはググってください^p^)
AからZまで順番に表示する文字を増やしていくというプログラムでよろしいでしょうか?^^;
masaさんがなんの言語を使うかわからないのでアルゴリズムについてお話します。(タイトルに思いっきり書いてましたね^^;申し訳ないorz)
おそらくですが、外側のループで何文字表示するかを計算し、内側のループで実際に文字を表示するものだと思います。(思いました。違ったら言ってください^^;)
のような感じでかけないかな、と思います。
print 'A' + j と言うのはAのアスキーコードにjを足した文字を表示する という意味です。
アスキーコードは連続しているので、例えば ’A'+1 は B になるはずです。(詳しくはググってください^p^)
オフトピック
- 質問内容を明確にする
- 使用言語も書く
- 自分でかけるとこまで書いたコードも載せる
最後に編集したユーザー purin52002 on 2017年6月13日(火) 22:46 [ 編集 1 回目 ]
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: c言語プログラムを作成でわかりません
>c言語プログラムを作成でわかりません
とあるから普通には
これでいいと思いますね。(^^;
(Windows10、VS2017 Community 使用)
[/size]
とあるから普通には
#include <stdio.h>
void main(void)
{
int i, j;
for (i = 65; i <= (65 + 25); i++) {
for (j = 65; j <= i; j++){
printf("%c", j);
}
printf("\n");
}
}
1>------ すべてのリビルド開始: プロジェクト:ConsoleApplication10, 構成: Debug Win32 ------
1>c1.c
1>ConsoleApplication10.vcxproj -> D:\z17\c\ConsoleApplication10\Debug\ConsoleApplication10.exe
1>ConsoleApplication10.vcxproj -> D:\z17\c\ConsoleApplication10\Debug\ConsoleApplication10.pdb (Partial PDB)
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========
A
AB
ABC
ABCD
ABCDE
ABCDEF
ABCDEFG
ABCDEFGH
ABCDEFGHI
ABCDEFGHIJ
ABCDEFGHIJK
ABCDEFGHIJKL
ABCDEFGHIJKLM
ABCDEFGHIJKLMN
ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
ABCDEFGHIJKLMNOPQ
ABCDEFGHIJKLMNOPQR
ABCDEFGHIJKLMNOPQRS
ABCDEFGHIJKLMNOPQRST
ABCDEFGHIJKLMNOPQRSTU
ABCDEFGHIJKLMNOPQRSTUV
ABCDEFGHIJKLMNOPQRSTUVW
ABCDEFGHIJKLMNOPQRSTUVWX
ABCDEFGHIJKLMNOPQRSTUVWXY
ABCDEFGHIJKLMNOPQRSTUVWXYZ
続行するには何かキーを押してください . . .
(Windows10、VS2017 Community 使用)
[/size]
Re: c言語プログラムを作成でわかりません
オフトピック
課題の丸投げは禁止(これが課題かはわかりません)なのですが、みんなコードを投稿する流れのようなので…
#include <stdio.h>
int main(void) {
int i, j;
for (i = 'A'; i <= 'Z'; i++) {
for (j = 'A'; j <= i; j++) {
putchar(j);
}
putchar('\n');
}
return 0;
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: c言語プログラムを作成でわかりません
#include <stdio.h>
int main(void) {
for (int i = 0; i < 26; printf("%.*s\n", ++i, "ABCDEFGHIJKLMNOPQRSTUVWXYZ")) ;
return 0;
}
二重ループを使った変態バージョン
#include <stdio.h>
int main(void) {
for (int i = 0; ++i <= 26; puts(""))
for (int j = 0; j < i; putchar("ABCDEFGHIJKLMNOPQRSTUVWXYZ"[j++])) ;
return 0;
}
EBCDIC なら、'A'=0xc1、'I'=0xc9、'J'=0xd1、'R'=0xd9、'S'=0xe2、'Z'=0xe9 です。
Re: c言語プログラムを作成でわかりません
[訂正版]
いま読んでいるC言語の本はかなり詳しく解説してあり私のようなC初心者にはよくわかって最適です。
そこに”void main(void) は間違いとあり警告をだすものも多くなった”とあるがVS2017は警告はでないみたいですね。
記憶では勝手に int main(void) を生成するので ”return 0;”が出来ます。
main printf malloc などはCのキーワード(予約語)でないので(ライブラリー関数なので)
処理系依存になります。
ANSI Cの規格にはRationale(理論的根拠)という文書があり
Keep the spirit of C
に
Keep the language small and simple とあります。
その代わりプログラマーは全知全能であるという理念で安全性はほぼ無視されています。もともと”自分たちで使うためだけに”作られた言語だからだそうです。
[/size]
#include <stdio.h>
int main(void)
{
int i, j;
for (i = 65; i <= (65 + 25); i++) {
for (j = 65; j <= i; j++){
printf("%c", j);
}
printf("\n");
}
return 0;
}
1>------ すべてのリビルド開始: プロジェクト:ConsoleApplication10, 構成: Debug Win32 ------
1>c1.c
1>ConsoleApplication10.vcxproj -> D:\z17\c\ConsoleApplication10\Debug\ConsoleApplication10.exe
1>ConsoleApplication10.vcxproj -> D:\z17\c\ConsoleApplication10\Debug\ConsoleApplication10.pdb (Partial PDB)
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========
A
AB
ABC
ABCD
ABCDE
ABCDEF
ABCDEFG
ABCDEFGH
ABCDEFGHI
ABCDEFGHIJ
ABCDEFGHIJK
ABCDEFGHIJKL
ABCDEFGHIJKLM
ABCDEFGHIJKLMN
ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
ABCDEFGHIJKLMNOPQ
ABCDEFGHIJKLMNOPQR
ABCDEFGHIJKLMNOPQRS
ABCDEFGHIJKLMNOPQRST
ABCDEFGHIJKLMNOPQRSTU
ABCDEFGHIJKLMNOPQRSTUV
ABCDEFGHIJKLMNOPQRSTUVW
ABCDEFGHIJKLMNOPQRSTUVWX
ABCDEFGHIJKLMNOPQRSTUVWXY
ABCDEFGHIJKLMNOPQRSTUVWXYZ
続行するには何かキーを押してください . . .
そこに”void main(void) は間違いとあり警告をだすものも多くなった”とあるがVS2017は警告はでないみたいですね。
記憶では勝手に int main(void) を生成するので ”return 0;”が出来ます。
main printf malloc などはCのキーワード(予約語)でないので(ライブラリー関数なので)
処理系依存になります。
ANSI Cの規格にはRationale(理論的根拠)という文書があり
Keep the spirit of C
に
Keep the language small and simple とあります。
その代わりプログラマーは全知全能であるという理念で安全性はほぼ無視されています。もともと”自分たちで使うためだけに”作られた言語だからだそうです。
[/size]