No.1854![]() |
ASCIIコード表を出力するプログラムを教えて下さい。 投稿者---azu(2004/05/31 19:38:36) |
||
実行した時に、 32 20 ! 33 21 " 34 22 # 35 23 $ 36 24 % 37 25 & 38 26 ' 39 27 ( 40 28 ) 41 29 * 42 2a + 43 2b , 44 2c - 45 2d . 46 2e / 47 2f 0 48 30 1 49 31 2 50 32 3 51 33 4 52 34 5 53 35 6 54 36 7 55 37 8 56 38 9 57 39 : 58 3a ; 59 3b < 60 3c = 61 3d > 62 3e ? 63 3f @ 64 40 A 65 41 B 66 42 C 67 43 D 68 44 E 69 45 F 70 46 G 71 47 H 72 48 I 73 49 J 74 4a K 75 4b L 76 4c M 77 4d N 78 4e O 79 4f P 80 50 Q 81 51 R 82 52 S 83 53 T 84 54 U 85 55 V 86 56 W 87 57 X 88 58 Y 89 59 Z 90 5a [ 91 5b \ 92 5c ] 93 5d ^ 94 5e _ 95 5f ` 96 60 a 97 61 b 98 62 c 99 63 d 100 64 e 101 65 f 102 66 g 103 67 h 104 68 i 105 69 j 106 6a k 107 6b l 108 6c m 109 6d n 110 6e o 111 6f p 112 70 q 113 71 r 114 72 s 115 73 t 116 74 u 117 75 v 118 76 w 119 77 x 120 78 y 121 79 z 122 7a { 123 7b | 124 7c } 125 7d ~ 126 7e のような出力結果になる、ASCIIコード表(10進数表示と16進数表示) を表示するプログラムを教えて下さい。お願いします。 いくら考えても分からないのです。 |
No.1860![]() |
Re:ASCIIコード表を出力するプログラムを教えて下さい。 投稿者---YuO(2004/05/31 22:26:31) |
||
> 実行した時に、 (snip) > のような出力結果になる、ASCIIコード表(10進数表示と16進数表示) > を表示するプログラムを教えて下さい。お願いします。 あなたが提供された情報から作成すると, #include <stdio.h> int main (void) { puts(" 32 20 ! 33 21 \" 34 22 # 35 23 $ 36 24"); puts("% 37 25 & 38 26 \' 39 27 ( 40 28 ) 41 29"); /*...途中省略...*/ puts("u 117 75 v 118 76 w 119 77 x 120 78 y 121 79"); puts("z 122 7a { 123 7b | 124 7c } 125 7d ~ 126 7e"); return 0; }か, #include <stdio.h> char ascii_chars[] = { ' ', '!', '\"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', /*...途中省略...*/ 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~' }; int main (void) { int i; for (i = 0; i < sizeof(ascii_chars); ++i) { if (i != 0 && i % 6 == 0) puts(""); printf("%c %i %x ", ascii_chars[i], i + 0x20, i + 0x20); } return 0; }あたりしか回答のしようがないですが……。 |
No.1882![]() |
Re:ASCIIコード表を出力するプログラムを教えて下さい。 投稿者---azu(2004/06/02 12:37:54) |
||
こんなにたくさんのプログラムを考えてくれて本当にありがとうございます。 それらを参考にプログラムを考えていきたいと思います。 |
No.1855![]() |
ASCIIコード表を出力するプログラムを教えて下さい2。 投稿者---azu(2004/05/31 19:58:00) |
||
前の「ASCIIコード表を出力するプログラムを教えて下さい。」の書き込みで、あまりにあからさまに質問してしまってすいません。 正直言って、 #include int main(void) {int までしか分からなくて、これ以上手のつけようがありません。こんな初心者で 申し訳ないのですが、これ以降(とは言ってもほとんどですが)のプログラム内容を(少しでもいいので)説明も加えながら是非教えてくれませんか。 |
No.1856![]() |
Re:ASCIIコード表を出力するプログラムを教えて下さい2。 投稿者---monkey(2004/05/31 20:27:38) |
||
この掲示板の管理人様のHPを勉強するだけで解決できる問題です. まず,文字コードとはなにかを理解する. http://www9.plala.or.jp/sgwr-t/c/sec02.html#s2-4 次に,printfの書式指定について学び,とりあえず1文字を,文字,10進数,16進数で表示してみる http://www9.plala.or.jp/sgwr-t/c/sec05.html さらに,繰り返しの仕方を勉強して,その応用を考える. http://www9.plala.or.jp/sgwr-t/c/sec06-2.html 以上の努力をしてもなおかつ疑問点が残ったら,なにがどう分からないかを具体的にご質問ください. # コードを載せる時はきちんとHTMLに変換してください. |
No.1883![]() |
Re:ASCIIコード表を出力するプログラムを教えて下さい2。 投稿者---azu(2004/06/02 12:39:56) |
||
たくさんのヒントをくれてありがとうございます。とりあえずヒントを参考に 頑張りたいと思います。 |
No.1898![]() |
Re:ASCIIコード表を出力するプログラムを教えて下さい2。 投稿者---azu(2004/06/03 14:57:04) |
||
自分なりにかなり努力した結果のプログラムが #include<stdio.h> int main(void) {int x,y; printf("\n < ASCIIコード表 >\n"); for(x=32; x<=126; x++) {printf(" %4c%4d%4x ",x,x,x); for(y=0; y>=3; y++) printf(" \n "); } } なのですが、これでは実行した時 まったくきれいに表示されません。このプログラムの どこをどう直せば見やすく表示されるようになるのか教えてください。それと、それぞれを 線のようなもので区切って,表らしく見えるようにしたいのですが どうしたらいいのかわかりません。 是非おしえてください、おねがいします。 |
No.1899![]() |
Re:ASCIIコード表を出力するプログラムを教えて下さい2。 投稿者---あかま(2004/06/03 15:43:05) |
||
>どこをどう直せば見やすく表示されるようになるのか教えてください。 '\n'を適切なところで出力するだけで見やすくなります。 #include<stdio.h> int main(void) { int x,y; printf("\n < ASCIIコード表 >\n"); for(x=32; x<=126; x++){ printf(" %4c%4d%4x\n",x,x,x); } } >for(y=0; y>=3; y++) >printf(" \n "); これは実行されません。y<=3の間違いでしょう。 改行を何度も出力しても見難いと思いますが。 >それと、それぞれを >線のようなもので区切って,表らしく見えるようにしたいのですが どうしたらいいのかわかりません。 縦棒'|'と横棒'-'を出力すればいいのでは? |
No.1900![]() |
Re:ASCIIコード表を出力するプログラムを教えて下さい2。 投稿者---monkey(2004/06/03 16:07:32) |
||
> 自分なりにかなり努力した結果 やればできるじゃん^^ あかまさんのご回答ですべてですが,ワタシは別案を. // 5カラムごとに改行 #include<stdio.h> int main(void) { int x; printf( "\n < ASCIIコード表 >\n" ); for( x = 32; x <= 126; x++ ) { printf( "%4c%4d%4x", x, x, x ); if( ( x - 31 ) % 5 == 0 ) printf( "\n" ); } return 0; } // 縦棒で区切る #include<stdio.h> int main(void) { int x; printf( "\n < ASCIIコード表 >\n" ); for( x = 32; x <= 126; x++ ) { printf( "|%4c%4d%4x", x, x, x ); if( ( x - 31 ) % 5 == 0 ) printf( "|\n" ); } return 0; } |
No.1917![]() |
Re:ASCIIコード表を出力するプログラムを教えて下さい2。 投稿者---azu(2004/06/04 16:27:08) |
||
ここまで詳しく、あかまさん、monkeyさん、ありがとうございます。 おかげでとても見やすく表示されるようになりました。 本当に感謝しています。 |