Cプログラミング

 Computer >> コンピューター >  >> プログラミング >> Cプログラミング
  1. C言語プログラム:日数を月と日に変換する方法を解説

    ユーザーが総日数を入力すると、その日数を「月数」と「翌月に残る日数(余り)」に変換するプログラムを作成します。日数を月数に変換するための計算式は以下の通りです。  月数 = 日数 ÷ 30また、翌月に残る日数を求めるためのロジックは以下の通りです。  残りの日数 = 日数 % 30(30で割った余り)アルゴリズム日数を月数と日数に変換するためのアルゴリズムは以下の通りです。ステップ1: 開始ステップ2: 月数と日数の変数を宣言するステップ3: 総日数を入力するステップ4: 月数を計算する  months = days / 30ステップ5: 残りの日数を計算する  days = days % 3

  2. 【C言語】ctype.hの文字分析・変換関数で文字の種類を判定する方法

    C言語では、「ctype.h」ヘッダーファイルに、入力された文字を解析・変換するための定義済み関数が多数用意されています。これらの関数を活用することで、「入力された文字が英字か数字か」「大文字か小文字か」といった判定を簡単に行うことができます。 文字分析関数 主な文字分析関数は以下の通りです。 関数判定内容 isalpha()英字(アルファベット)であるかどうか isdigit()数字であるかどうか isspace()空白・改行・タブであるかどうか ispunct()記号(特殊文字)であるかどうか islower()英小文字であるかどうか isupper()英大文字であるかどうか is

  3. C言語のgoto文を解説!平方根を計算するサンプルプログラム

    このCプログラムは、5つの数値に対して平方根を計算する例です。変数countには、読み込んだ数値の個数が記録されます。countが5以下である間は、goto read;文によって制御がラベル「read」の位置へ移り、処理を繰り返します。countが5を超えると、終了メッセージを表示してプログラムを停止します。goto文とはgoto文は、通常のプログラム実行の流れ(順次実行)から外れ、制御をプログラム内の別の場所へ強制的に移すために使用されます。ラベルで指定した位置にジャンプすることで、ループ処理やエラー処理などを実現できます。プログラム以下は、goto文を使用したCプログラムの例です。#inc

  4. C言語で数字をX字型(Xパターン)に表示するプログラムの作り方

    本記事では、C言語を使ってコンソール上に数字をX字型(Xパターン)で表示するプログラムの作成方法を解説します。まず全体の流れを把握できるよう、アルゴリズムから順に見ていきましょう。アルゴリズムXパターンで数字を表示するための手順は以下の通りです。ステップ1:開始 ステップ2:変数を宣言する ステップ3:行数を読み込む ステップ4:forループの条件判定if(i==j || i+j==rows-1) の場合i+1 を出力するそれ以外は (空白)を出力するステップ5:改行を出力する ステップ6:終了Xパターンを描くロジックこのパターンのポイントは、「行番号と列番号が等しい位置(i==j)」と「行

  5. 【C言語】ユーザーが入力した配列の種類(偶数・奇数・混合)を判定するプログラム

    問題配列に含まれる要素が、すべて偶数なのか、すべて奇数なのか、あるいはその両方が混在しているのかを判定するCプログラムを作成します。解決方法ユーザーが整数の配列を入力すると、プログラムがその配列の種類を画面に表示します。例1:入力「5 3 1」→ 出力「Odd Array(奇数配列)」例2:入力「2 4 6 8」→ 出力「Even Array(偶数配列)」例3:入力「1 2 3 4 5」→ 出力「Mixed Array(混合配列)」アルゴリズム以下の手順に従って、ユーザーが入力した配列の種類を判定します。ステップ1:実行時に配列のサイズ(要素数)を読み込む。ステップ2:配列の各要素を入力する。

  6. ポインタを使用してユーザーが入力した配列の種類(偶数・奇数・混在)を判定するCプログラム

    問題概要 C言語で、ポインタを使用しながら、配列に格納された要素が「すべて偶数」「すべて奇数」「偶数と奇数の混在」のどのタイプに該当するのかを判定し、その結果を出力するプログラムの作成方法を解説します。 解決方法 まずユーザーに整数の配列を入力してもらい、その後プログラムが配列の種類を自動的に判定して画面に表示します。 例1: 入力「5 3 1」→ 出力「奇数の配列(Odd)」 例2: 入力「2 4 6 8」→ 出力「偶数の配列(Even)」 例3: 入力「1 2 3 4 5」→ 出力「混在の配列(Mixed)」 アルゴリズム ポインタを使って、ユーザーが入力した配列の種類を判定する

  7. C言語で数字をスパイラル(蛇行)パターンで表示するプログラム

    はじめに本記事では、C言語を使って数字をスパイラル(蛇行)パターンで表示する方法を解説します。このパターンの特徴は、行ごとに数字の並び順が交互に入れ替わり、蛇が這うように数字が連なっていく点です。出力イメージ作成するパターンは以下のようになります。 1 2 4 3 5 6 8 7 9 10 12 11ロジックの解説数字をスパイラルパターンで表示するために使用するロジックは以下の通りです。for(i=1;i<=rows*2;i+=2){     if(k%2==1){      &nb

  8. 【C言語】アルファベットをスパイラルパターンで出力するプログラムの作り方

    スパイラルパターンとはアルファベットをスパイラル(螺旋)状のパターンで表現すると、以下のように出力されます。このパターンの特徴は、2文字ずつペアで出力され、行ごとに「A B」「D C」「E F」「H G」…というように、昇順と降順が交互に入れ替わる点です。これにより、折り返しながら進むスパイラル(蛇行)のような模様が描かれます。ロジックのポイントスパイラルパターンを出力するためのロジックは、以下の手順で構成されています。まず、入力された行数(rows)が1以上13以下の範囲内にあるかをチェックします。アルファベットは26文字あるため、2文字ずつペアで出力する場合、最大行数は13行となります。f

  9. C言語で2つの文字列を入れ替える方法:strcpy()関数の使い方を解説

    C言語において、2つの文字列の場所を入れ替える(スワップする)には、strcpy()関数を使用します。本記事では、文字列の基本的な扱い方から、strcpy()関数を使った文字列の入れ替えプログラムまで、サンプルコード付きでわかりやすく解説します。文字列とは文字列とは、文字型(char)の配列、すなわち複数の文字を集めたもののことです。C言語では、文字列は終端を示すヌル文字「\0」で終わる文字配列として表現されます。文字列の宣言文字配列は以下のように宣言します。char stringname [size];例えば、次のように宣言すると、最大50文字の文字列を格納できる配列が作成されます。char

  10. 配列内の完全平方数の要素を合計するCプログラム

    問題配列に含まれる完全平方数(平方数)の要素だけを取り出し、その合計を求めるプログラムを作成します。入力として配列の要素数と各要素が与えられ、配列内に存在するすべての完全平方数の合計を出力します。解き方例を見てみましょう。入力 = 1, 2, 3, 4, 5, 9, 10, 11, 16 この中の完全平方数は 1, 4, 9, 16。 合計 = 1 + 4 + 9 + 16 = 30 出力:30アルゴリズム配列内の完全平方数の要素を合計するためのアルゴリズムは以下の通りです。ステップ1 − 実行時に配列の要素数を読み込む。ステップ2 − 各要素を入力する。ステップ3 − 合計値を表す変数sum

  11. C言語のポインタを使って配列内の完全平方数の合計を求めるプログラム

    問題 ポインタを使用して、配列内に含まれる完全平方数(ある整数の2乗になっている数)の要素の合計を求めるプログラムを作成します。 配列の要素数を入力として受け取り、その配列内に存在するすべての完全平方数の要素を合計した結果を出力します。 解法 例えば、以下のような動作になります。 入力 = 1, 2, 3, 4, 5, 9, 10, 11, 16 完全平方数は 1, 4, 9, 16 合計 = 1 + 4 + 9 + 16 = 30 出力:30 アルゴリズム ポインタを使用して配列内の完全平方数の要素の合計を求めるためのアルゴリズムは、以下の手順に従います。 ステップ1 − 実行時に入力とし

  12. C言語における単純なアサーションとは?assertマクロの基本と使い方

    アサーション(表明)とは アサーション(assertion:表明)とは、プログラムの実行がそのコード行に到達した時点で、特定の事実(条件)が必ず真でなければならないことを宣言するための文です。 アサーションを活用することで、「この時点ではこの条件が満たされているはずだ」という前提を明示的にチェックでき、想定外の状態やバグを早期に発見するのに役立ちます。 単純なアサーションの書き方 C言語では、assert.h ヘッダーファイルに用意されている assert(expression) マクロを使うことで、単純なアサーションを実装できます。 構文は以下の通りです。 assert(expression

  13. C言語で名前をアルファベット順にソートするプログラムの書き方

    この記事では、ユーザーが入力した名前の個数と名前を受け取り、strcpy()関数を活用してそれらの名前をアルファベット順に並べ替えるC言語のプログラムを紹介します。まず基本として、文字の配列(文字の集合)のことを「文字列」と呼びます。文字列の宣言文字列(文字配列)の宣言は以下のように行います。char stringname [size];例えば、char string[50]; と宣言すると、50文字分の長さを持つ文字列が定義されます。文字列の初期化文字列の初期化には、主に2つの方法があります。1文字ずつの文字定数を使う方法char string[10] = { H, e, l, l, o,

  14. 【C言語】2つの配列の和集合を求めるプログラムの書き方と解説

    和集合(union)とは、2つの集合に含まれるすべての要素を重複なくまとめたものです。C言語では、この和集合演算を配列を使って簡単に実装できます。本記事では、2つの整数型配列の和集合を求めるCプログラムを、アルゴリズムの考え方から実際の実行結果まで、初心者にもわかりやすく解説します。 和集合演算とは たとえば、次のような2つの配列を考えてみましょう。 配列1 = {1, 2, 3, 4, 6} 配列2 = {1, 2, 5, 6, 7} この2つの配列の和集合は、次のように表されます。 配列1 ∪ 配列2 = {1, 2, 3, 4, 6} ∪ {1, 2, 5, 6, 7}= {1,

  15. 【C言語】2つの配列の積集合(交差)を求めるプログラムの作り方

    積集合(交差)演算とは 積集合とは、2つの配列(集合)に共通して含まれる要素だけを集めたものです。 たとえば、次のような2つの配列があるとします。 配列1 = { 1, 2, 3, 4, 6 } 配列2 = { 1, 2, 5, 6, 7 } 両方の配列に存在するのは「1」「2」「6」の3つなので、積集合は次のようになります。 Array1 ^ Array2 = {1,2,3,4,6} ^ {1,2,5,6,7} = {1,2,6} 積集合を求める基本ロジック 考え方はシンプルで、「配列1の各要素が配列2の中に存在するかどうかをすべて調べる」というもので

  16. C言語でnCr(組み合わせ)とnPr(順列)を求めるプログラム

    Cプログラミングにおいて、nCrは組み合わせ(combination)と呼ばれます。nCrとは、n個の要素からなる集合からr個の要素を選び出す方法の数を指し、このとき選ぶ順序は考慮されません。一方、nPrは順列(permutation)と呼ばれます。nPrとは、n個の要素からなる集合からr個の要素を取り出し、順序や並び方を考慮して配置する方法の数です。順列・組み合わせの公式C言語で与えられた数値の順列と組み合わせを求めるための公式は、以下の通りです。nCr = n! / (r! × (n-r)!)nPr = n! / (n-r)!nCrを求める際のロジックは次のようになります。result =

  17. C言語のアナグラムとは?文字列判定の仕組みとサンプルコードを解説

    アナグラム(Anagram)とは、2つの文字列に含まれるすべての文字が、同じ回数だけ出現し合っている関係にある文字列のことを指します。 本記事で紹介するプログラムでは、ユーザーが入力した2つの文字列に対して、それぞれのアルファベット(a〜z)が出現する回数を数え、対応する出現回数を比較します。ここでいう「出現頻度」とは、ある文字が文字列の中に何回現れるかを表すものです。 2つの文字列において、すべてのアルファベットの出現頻度が完全に一致していれば、それらの文字列はアナグラムであると判断できます。 例1:アナグラムとなるケース 文字列1 − abcd文字列2 − bdac これら2つの文字列に

  18. C言語の構造体を使って円と円柱の面積・体積を求めるプログラム

    C言語では、構造体(structure)を活用することで、円の面積や円柱の表面積・体積を効率的に計算できます。構造体を使うことで、関連する複数のデータをひとまとめに管理でき、コードの可読性と保守性も向上します。 計算ロジック 円の面積を求める式 s.areacircle = (float)pi*s.radius*s.radius; 円柱の表面積を求める式 s.areacylinder = (float)2*pi*s.radius*s.line + 2 * s.areacircle; 円柱の体積を求める式 s.volumecylinder = s.areacircle*s.line; アルゴリズ

  19. 動的リンクリストで車の情報を保存するC言語プログラム

    リンクリスト(連結リスト)は、動的メモリ割り当てを利用するデータ構造です。データの追加や削除に応じてメモリ領域が柔軟に拡張・縮小されるため、事前に要素数を固定する必要がありません。リンクリストは「ノード」と呼ばれる要素の集合体であり、各ノードは次の2つの部分で構成されています。 データ(Data):実際の情報を格納する部分 リンク(Link):次のノードを指すポインタ リンクリストの種類 C言語で利用できる主なリンクリストには、以下の4種類があります。 片方向リンクリスト(単方向連結リスト) 双方向リンクリスト(両方向連結リスト) 循環片方向リンクリスト 循環双方向リンクリスト ア

  20. C言語でforループを使ってハート型パターンの中央に名前を出力するプログラム

    C言語のforループを活用すれば、星印(*)だけでハート型の図形を描き、その中央に好きな名前を表示することができます。この記事では、その仕組みと実装方法を順を追ってわかりやすく解説します。 課題 forループを使用して、星印(*)で描いたハート型のパターンの中に、名前を中央に表示するプログラムを作成します。 解決方法 まずユーザーに、中央に表示したい名前と、星印を表示する行数を入力してもらいます。プログラムはこれらの入力値をもとに、星印でハートの輪郭を描きながら、その中心部分に指定された名前を組み込んで出力します。 アルゴリズム forループを使ってハートパターン内に名前を表示する際は、以下

Total 1445 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:69/73  20-コンピューター/Page Goto:1 63 64 65 66 67 68 69 70 71 72 73