練習 3(提出プログラム名:p1003.c)
サンプルプログラム 3 (sample3.c) を p1003.c という別の名前のファイルにコピーしなさい.そして,p1003.c を編集し,サンプルプログラム 3 の動作の続きとして次の 2 つの動作も実行するプログラムに仕上げなさい.
【編集すべき内容】
①ローカル部を出力した後に,その文字数も出力する.
②さらに,メールアドレスのドメイン(@よりも右側部分)とその文字数も出力する.
【注意】
マクロの定義部分以外に 100 (や 99, 98 といった関係する数字)を直接書いてはいけません.
また,C 言語には文字列の文字数を調べてくれる strlen という関数が標準ライブラリ関数として用意されているが,ここではこれを使ってはいけません.
【ヒント】
サンプルプログラム 3 の場合,最後の while 文による繰り返しが終わった時点で mail[i] == '@' となっています.つまり,この i を +1 すると(i++; を実行すると),mail[i] は @ の 1 つ右の文字ということになりますので,これがドメインの先頭文字に該当します.
- 【プログラムの実行例】(その1)※赤字は実行時にキーボードから入力する内容
※出力の最後に改行(\n)を入れ忘れないよう注意せよ
メールアドレスを入力してください:⏎ aman@ehime-u.ac.jp アドレスは aman@ehime-u.ac.jp (18 文字)⏎ ローカル部は aman ですね (4 文字)⏎ ドメインは ehime-u.ac.jp ですね (13 文字)⏎
- 【プログラムの実行例】(その2)※赤字は実行時にキーボードから入力する内容
メールアドレスを入力してください:⏎ aman.hirohisa.mm@ehime-u.ac.jp アドレスは aman.hirohisa.mm@ehime-u.ac.jp (30 文字)⏎ ローカル部は aman.hirohisa.mm ですね (16 文字)⏎ ドメインは ehime-u.ac.jp ですね (13 文字)⏎
- 【プログラムの実行例】(その3)※赤字は実行時にキーボードから入力する内容
メールアドレスを入力してください:⏎ k520987x@mails.cc.ehime-u.ac.jp アドレスは k520987x@mails.cc.ehime-u.ac.jp (31 文字)⏎ ローカル部は k520987x ですね (8 文字)⏎ ドメインは mails.cc.ehime-u.ac.jp ですね (22 文字)⏎
【過去にあったミス(減点となり,やり直しを命じられる)】
■ 3 種類の実行例を確認せずに提出してしまっている.
例えば,誤って @ を文字数に含めていたり,ドメインとして @ も表示させてしまっている.
■ 文字数をカウントする変数を 0 に初期化せずに使ってしまっている.
■ ナル文字より後ろも表示させてしまい文字化けしている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 練習2 (p1002.c) ]
ミスが無いことを確認したら次の問題へ → [ 練習4 (p1004.c) ]