プロが教えるわが家の防犯対策術!

#include <stdio.h>

int main(void)
{
char C;

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

return 0;
}

これ以外の作り方を知っているという方、ぜひ教えてください。

A 回答 (6件)

#include <stdio.h>



int main(void)
{
 int a;

 for(a = 'A';a <= 'Z';a++) {
  putchar(a);
 }
 putchar('\n');

 return 0;
}



#include <stdio.h>

int main(void)
{
 char *str = "ABC (中略) XYZ\n";

 do {
  printf("%c", *str);
  str++;
 } while(*str);

 return 0;
}

質問が抽象的過ぎるので「これ以外の作り方」だとどうとでもできそうな気がしますけど。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
確かに抽象的過ぎました、アドバイスありがとうございます。

お礼日時:2015/10/21 18:20

#include <stdio.h>



void print(char c)
{
if (c != 'a')
{
print(c - 1);
}
putchar(c);
}

int main()
{
print('z');
return 0;
}
    • good
    • 1
この回答へのお礼

回答ありがとうございました

お礼日時:2015/10/21 18:21

#include <stdio.h>



int main(void)
{
printf("ABCDEFGHIJKLMNOPQRSTUVWXYZ\n");
return 0 ;
}
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2015/10/21 18:21

あ, しまった, for の条件の ch <= CHAR_MAX はまずい (無限ループになってしまう). そこは ch < CHAR_MAX に変えて最後の printf を


printf("%c\n", CHAR_MAX);
にしておくべきだった.
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2015/10/21 18:23

「正しくない」は言い過ぎかもしれない. そこの判断は「AからZまでを表示する」が何を意味するかによる.



具体的には, 例えば
ABC+-=DEF (中略) XYZ
と表示されたときに「AからZまでを表示する」と言えるかどうか, という問題. 確かに「A から Z までのラテンアルファベット」を表示しているんだけど, 「その他の文字」が入っていることをどう思うか, だね. そして, 「余計な文字があってもいい」というのであれば
#include <stdio.h>
#include <limits.h>
int main(void)
{
char ch;
for (ch = CHAR_MIN; ch <= CHAR_MAX; ++ch) {
printf("%c", ch);
}
printf("\n");
return 0;
}
でもいいのかもしれない.
    • good
    • 0

#include <stdio.h>



int main(void)
{
printf("ABC (中略) XYZ\n");
return 0;
}

ちなみにこの質問文中のプログラムは正しくないので注意.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
良ければどのあたりが間違っているのか教えていただけないでしょうか

お礼日時:2015/10/21 16:32

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

このQ&Aを見た人はこんなQ&Aも見ています