教材やネットを使いC言語を勉強しているものです。
初心者で伝わりにくいとは思いますがお願い致します。
無料のサイトに乗っていた関数を作るという問題なのですが、問題を見た友人曰く、toupperを使わずに行えるとのことでした。(友人曰くifとかforとか…との事でした…)C言語は始めたばかりで、3日ほど自力で考えましたが想像がつきません。解説とともに教えていただけると幸いです。
下記の様な問題です。
1文字を引数とする。
その文字がアルファベット小文字であれば大文字に変換して返す関数を作成すること。
小文字でなければそのまま返すこと。
入力された文字列を大文字に変換して出力。
> 無料のC言語問題サイトの別解を教えて欲しい。
...
> 3日ほど自力で考えましたが想像がつきません。解説とともに教えていただけると幸いです。
このようなサイトで手取り足取り教えてもらうのは難しいかもしれません。(<質問自体を非難しているのではありません)
[質問するときのヒント] https://teratail.com/help/question-tips
まったく想像がつかない場合、前提とする知識が圧倒的に少ない可能性があります。考える為の材料が少ないと、すぐに行き詰まります。
ヒントは文字コードのASCIIコード(アスキーコード)です。それで調べると進展があるかもしれません。
また、AIに「C言語で、toupper関数を使わずに小文字から大文字に変換するコードを教えてください。その際、コードの解説も付けてください。」など訊ねると充分な説明を得られる場合があります。ブラウザーにもよりますが、上記質問そのままで検索をかけると関連する情報も得られます。
コメントした後に思いつきましたが、
> 問題を見た友人曰く、toupperを使わずに行えるとのことでした。(
その友人に聞くのが一番早い気がします...
現在友人は海外旅行に行っており、連絡するのにも申し訳ないかなと(((( '-' ))))
ありがとうございます。
ASCIIコード表見てみます。
もう少し考えてみます…。
https://monozukuri-c.com/langc-funclist-upper-lower/#toc7
このページが、ご希望の内容かと思いますので、ご確認ください。
なお、当該ページは、「C toupper ソース」での検索で見つけたものです。
> 無料のC言語問題サイトの別解
という話をするのであれば,何はともあれ,その「無料のサイトで示されている解」がどんなものなのかを示す必要があるのでは?
そのサイトの解と同じ内容が回答されることは避けるべきでしょうから.
https://kitako.tokyo/lib/CExercise.aspx?id=9
練習問題 9 - 7ですかね、回答例もついてますし
というか、意訳すれば「toupper(と同じモノ)を作れ」という問に toupper を使った答を出したんでしょうか。
> 無料のC言語問題サイトの別解
では、そのサイトに載っている解を見られるようにしてください (URLを明記してください)。その解以外の解を「別解」というのではありませんか。