C言語の関数でのプログラミングについての質問と解説

このQ&Aのポイント
  • C言語の関数を使用して、以下の4つの問題を解決するプログラムを作成したいです。問題1では、入力した文字列を特定の形式で出力するプログラムを作成します。問題2では、ファイルに入力された漢字データを逆順で表示するプログラムを作成します。問題3では、ファイルから読み込んだ英文の一行ごとの文字数とワード数を数えるプログラムを作成します。問題4では、月日の入力データから平年の曜日を求めるプログラムを作成します。
  • 問題1では、指定された形式で文字列を出力するプログラムを作成します。問題2では、ファイルから漢字データを読み込んで逆順で表示するプログラムを作成します。問題3では、ファイルから読み込んだ英文の一行ごとの文字数とワード数を数えるプログラムを作成します。問題4では、入力された月日から平年の曜日を求めるプログラムを作成します。
  • C言語の関数を使用して、以下の4つの問題を解決するプログラムを作成したいです。問題1では、入力した文字列を指定された形式で出力するプログラムを作成します。問題2では、ファイルから漢字データを読み込んで逆順で表示するプログラムを作成します。問題3では、ファイルから読み込んだ英文の一行ごとの文字数とワード数を数えるプログラムを作成します。問題4では、入力された月日から平年の曜日を求めるプログラムを作成します。
回答を見る
  • ベストアンサー

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問です。どうか回答よろしくお願い致します

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

関連するQ&A

  • 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問です。どうか回答よろしくお願い致します

  • c言語について教えてほしい

    教えてください。 現在c言語を自習していますが、偶然にこういう問題を見ましたが、なかなか解けなくて、助けがほしいです。お願いします。 問題: fopen,fputs,fcloseを使って、次のプログラムを作成しなさい。文字列とファイル名を入力させ、ファイルを生成する。(入力したファイル名に拡張子.txtを付与する。) 表示イメージ: 文字列を入力して下さい。 ファイル書き込みテストをします。注意します (←入力する) ファイル名を入力して下さい。 testei (←入力する) ファイルの書き込みに成功しました。 ファイルイメージ: testi.txt (←入力したファイル名 拡張子.txtが付与される) ファイル書き込みテストをします。注意します (←入力した文字列)

  • C言語 ファイル入出力について

    test.txtというテキストファイルに入力されている文字を読み込んでtest1.txtに7文字になったなら改行して2行目に書き込み、また2行目が7文字以上になったら3行目に書き込むというプログラムを作りたいのですがどうもうまくいきません。色々ネットで探したりしたのですがstrlenをうまく使うのかな~ぐらいしか見当はつきません・・・。 何かよいアドバイスをお願いします!m(_ _)m 例 test.txt --------------------------------- 私の一番好きな食べ物はリンゴです。 --------------------------------- ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ test1.txt ---------------------------------- 私の一番好きな 食べ物はリンゴ です。 ----------------------------------

  • C言語でテキストファイルのデータ処理

    はじめまして。 僕はC言語に関して全くの初心者です。 どうぞよろしくお願いします。 例えば、 1,0,0,7,6 2,0,0,5,5 3,1,0,4,9 : : のようなテキストファイル、test.txtがある時、 1行目の4カラム目(7)と5カラム目(6)を、 それぞれの行について差し引くプログラム、 つまり全ての行について4カラム目は7を引き、 5カラム目は6を引くプログラムの事で、 この例では、 1,0,0,0,0 2,0,0,-2,-1  3,1,0,-3,-3 : : となるようなプログラムを書き、結果を出力したいのですが、よく分かりません。 ちなみにawkで書いて実行すると、 (プログラム名はtest.awkとする) BEGIN{ i=0; } { while(i<1){ v3 = $4; v4 = $5; i++; } print $1,$2,$3,($4 - v3),($5 - v4); } 実行するプログラム↓ awk -f test.awk test.txt という感じなのですが…。 これを上述の様に、C言語でプログラムを書いて、 実行するには、例えばどのようなプログラムを書けば いいのでしょうか? なにぶん初心者のため、分からない事だらけですが、 よろしくお願いしますm(__)m

  • C言語でこんなことは可能ですか?

    現在あるプログラムを作りたいと思いC言語の勉強をしています。 それに伴い、下記のプログラムはC言語で作成可能でしょうか。 例) Aのフォルダ内にbというファイル(txt)があるとして、 bのファイル内の「ありがとう」という文字を検索し表示させるプログラム は作成可能でしょうか。表記としては --------------------------------- ファイル名 | 検索文字 ---------------------------------  A    | ありがとう  -------------------------------- としたいと思っているのですが・・・ よろしくお願いします。

  • C言語わかる方お願いしますm(_ _)m

    大学の研究に必要なC言語を使ったプログラミングを作ることになったのですがプログラムを作ったことがないためわからないのでどなたかわかる方お願いします。 まずa.txtというfileがあるとしてそのファイルにはabcdの4文字がランダムに何千と続いています。 例えばacbbbaddddcbabbcddbbacbadabcdcbabddabcbdbcbadcabbadddbbcccbcdbabdbcbabcdcdbabcdaaadcadcdadcdacdbabcbbaacdacaddcdcabbbdcc・・・ といったファイルです。 これを8文字読んでは1文字ずらしてまた8文字読む・・・といった作業を繰り返していきます。上のファイルを例にすると最初のacbbbaddを読み次に1文字ずらしてcbbbadddを読むといった具合です。この8文字ずつとってきたものはabcdの4種類あるので8文字の種類としては4の8乗=65536通りあるのですがこの8文字がこのファイル中にそれぞれいくつあるかカウントしてくるプログラムを作りたいのですが自分にはわかりませんでした。今のところfopenしたあとfgetsで8文字ずつ読み込んだところまではいっています。 実行したときに aaaaaaaa 53 aaaaaaab 34 aaaaaaac 43   ・     ・    ・ といった感じに65536行の結果が得られるようにしたいのですが分かる方お願いいたしますm(_ _)m 本来情報系ではなく生化学の研究をしてるのですがこれのせいで先に進めない状態です。できるかたいましたらよろしくおねがいします。

  • C言語について

    C言語の理解で行き詰まってしまい、ポイントを教えていただきたく質問させて頂きました。 抽象的な説明で申し訳ありません。 よろしくお願いします。 悩んでいるポイントは以下になります。 ファイルを保存してからは、プログラム内で system 関数を使って、 外部プログラムを実行する。 最初は、文字コードをEUCに変換して、ファイルに保存します。 system("nkf -e (抽出データを保存したファイル名) > data.txt"); 次に、形態素解析をして名詞などを取り出して、またファイルに格納する。 system("chasen data.txt | ./cs.pl > key.txt"); また、臨時で保存しておいたファイルを削除する。 unlink("data.txt"); 以上ですが、質問がわかりづらい場合は教えてください。 よろしくお願いします。

  • C言語の課題

    C言語の問題です。 正の整数nを入力し、1以上n以下の整数を順次表示例通りに表示すること。0以下の整数が入力されることを考慮する必要はない。 実行例 1*2*3*4*5* 教えて頂けないでしょうか?

  • C言語の標準関数についての質問です><

    C言語の標準関数についての質問です>< 実行結果が以下のようになるようにプログラムを作りたいのですが・・・・ int indat; ← 用意された変数です。 static char outbuf[101]; ←用意された変数です。 使える標準関数は、 sprintf関数と、strlen関数です。 実行結果 数値入力==>123 数値入力==>45 数値入力==>6789 数値入力==>0 数値入力==>-1 文字列連結=123△45△6789△0 自分なりに書きましたが動きません>< #include <stdio.h> #include <string.h> void main(void) { int indat,i; static char outbuf[101]; i=0; while(indat >= 0) { printf("数値入力==>"); scanf("%d",&indat); sprintf(&outbuf[i],"%d",indat); i=strlen(outbuf); } printf("文字列連結",outbuf); return; } 表示の△は空白です>< どなたか、プログラムを教えてください><

  • C言語の課題について。教えてください

    次のプログラムに3重ループ(for)を使ってプログラムを作成したい。 コンパイルの実行結果から考えて、(1)(2)(3)の中に適切な数値や式等をいれよ。 #include<stdio.h> main() { int a,b,c; for(a=1;a<=3;a++){ (1) for(b=1;b<=2;b++){ (2) for(c=1;c<=3;k++){ (3) } コンパイルした後の実行画面 abbc c c d abbc c c d abbc c c d 解答欄 (1) (2) (3)

専門家に質問してみよう