• 締切済み

C言語の課題(関数)での質問です。急いでます。

C言語の課題(関数)での質問です。急いでます。 C言語の関数のプログラミングついて、ご教授お願いします。 下記のプログラムを関数を用いて実行したいのですが、どのようにすれば良いでしょうか? 回答(できたら簡単な解説)の明記をお願いします。 問題1:入力したプログラムから以下のように出力するプログラムを作成する。 (実行結果例) 文字列を入力: 今日は、晴れです。 今日は、晴れです。 日 す は で 、 れ 晴 晴 れ 、 で は す 日 。すでれ晴、は日今 問題2:ファイル入力した漢字データ(全角)を読み込み、行数を数えながら逆から表示するプログラム。 (実行結果例) (例として次のような C:\test2.txtを入力する) 今日は、晴れです。昨日は、雨で した。明日は、曇でしょう。明後 日は、快晴でしょうか。 ←の文章を以下のようなプログラムにする。 ファイル名を入力してください:C:\test2.txt 1:で雨、は日昨。すでれ晴、は日今 2:後明。うょしで曇、は日明。した 3:。かうょしで晴快、は日 問題3:ファイルのデータ(英文)を読み込み、一行毎の文字数(スペースも含む)とワード数を数えるプログラム。 (実行結果例) (例として次のような C:\test3.txtを入力する) And friends just can't be found Like a bridge over troubled water I will lay me down ←の文章を以下のようなプログラムにする。 ファイル名を入力してください:C:\test3.txt 1:And friends just can't be found ⇒31文字、6ワード 2:Like a bridge over troubled water ⇒33文字、6ワード 3:I will lay me down ⇒18文字、5ワード 問題4:1月1日が金曜日の平年(たとえば2010年)について、月日の入力データから、曜日を求めるプログラム。 (実行結果例) 月を入力してください:9 日を入力してください:15 9月15日は、水曜日です。 以上4問です。どうか回答よろしくお願い致します

みんなの回答

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

とりあえず問題1だけ作ってみました。 #include <stdio.h> #include <wchar.h> #include <locale.h> int main(void) {  setlocale(LC_CTYPE, "");  fputws(L"文字列を入力: 今日は、晴れです。\n\n\n"      "今日は、晴れです。\n"      "日 す\n"      "は で\n"      "、 れ\n"      "晴 晴\n"      "れ 、\n"      "で は\n"      "す 日\n"      "。すでれ晴、は日今\n",      stdout); } > 入力したプログラムから 入力することが要求されているのはプログラムであって、実行時に何らかの文字列を受け付けるということではないのがポイントですね。 ひっかけ問題みたいなもんでしょう。

yamamoto2096
質問者

補足

どうもありがとうございます。 ただ、実際に(上矢印)の通りに打ってみたらエラーと表示されました(涙)

回答No.1

まず、どこまでができていて、どこがわからないのでしょうか? 「学校の課題の答えを全て」を求めているのでしょうか? 一応ヒント 問題1 最後の行だけ。入力バッファを後ろから2Byteずつ表示していく。 途中はその応用。 問題2 一行分読み込み、後は問題1と同じ。 但し、1行を読み込んで余裕が持てるバッファが必要。 問題3 一文字ずつ読み込んだ数を数える。 ワード数は「区切り文字」となるものが検知できたら+1する。 問題4 「万年カレンダー」で検索 「関数化」って言ってるのは、それぞれの問題で同じような機能があるからその部分のことだと思う。 そういえば、最近も似た質問がたくさんあったな。

yamamoto2096
質問者

補足

>学校の課題の答えを全て」を求めているのでしょうか? はい、そうです。よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう