ページ 11

アルファベットを表示するプログラム

Posted: 2009年11月16日(月) 18:15
by NWT
abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyza
cdefghijklmnopqrstuvwxyzab
defghijklmnopqrstuvwxyzabc
efghijklmnopqrstuvwxyzabcd
fghijklmnopqrstuvwxyzabcde
ghijklmnopqrstuvwxyzabcdef
hijklmnopqrstuvwxyzabcdefg
ijklmnopqrstuvwxyzabcdefgh
jklmnopqrstuvwxyzabcdefghi
klmnopqrstuvwxyzabcdefghij
lmnopqrstuvwxyzabcdefghijk
mnopqrstuvwxyzabcdefghijkl
nopqrstuvwxyzabcdefghijklm
opqrstuvwxyzabcdefghijklmn
pqrstuvwxyzabcdefghijklmno
qrstuvwxyzabcdefghijklmnop
rstuvwxyzabcdefghijklmnopq
stuvwxyzabcdefghijklmnopqr
tuvwxyzabcdefghijklmnopqrs
uvwxyzabcdefghijklmnopqrst
vwxyzabcdefghijklmnopqrstu
wxyzabcdefghijklmnopqrstuv
xyzabcdefghijklmnopqrstuvw
yzabcdefghijklmnopqrstuvwx
zabcdefghijklmnopqrstuvwxy

と表示するプログラムを作成している途中のものです。

今のところ1列目を表示するプログラムはできました
#include <stdio.h>

int main(void)
{
int a;

for( a = 'A' ; a <= 'Z' ; a++)
{
printf("%c",a);
}

return(0);
}


ここから先がわからないのでアドバスをお願いします。

Re:アルファベットを表示するプログラム

Posted: 2009年11月16日(月) 18:25
by lbfuvab
ヒント:配列と剰余演算子


後、'A'から'Z'まで連続と言うのは決まっていないので注意してください。

Re:アルファベットを表示するプログラム

Posted: 2009年11月16日(月) 19:35
by non
2行目を作ってみました
#include<stdio.h>
int main(void)
{
	int i,moji;
	for(i=0,moji='b';i<26;i++,moji++){
		if(moji>'z') moji='a';
		putchar(moji);
	}
	return 0;
}

Re:アルファベットを表示するプログラム

Posted: 2009年11月16日(月) 22:09
by lbfuvab
解説です。
char str[/url]="abcdefghijklmnopqrstuvwxyz";

の様に配列strを定義します。
一列目を出力するには

int i;
for(i=0;i<26;i++) putchar(str);

とすればおkです。
しかし二列目で(三列目以上でも同様に)

for(i=0;i<26;i++) putchar(str[i + 1]); //三列目ならi+2とする

とすると配列の範囲の[0,26)を超えてしまいます。
そこで剰余演算子の出番です。

後は、自分で調べてください。