スコア変換と数値操作の実験

実験タスク1 #include <stdio.h> char grade_converter(int score); int main() { int score; char grade; while(scanf("%d", &score) != EOF) { grade = grade_converter(score); printf("Score: %d, Grade: %c\n\n", score, grade); } return 0; } char grade_converter(int score) { char result; swi ...

7月23日 01:50 投稿

線形リストの初期化と破棄処理の実装

線形リストの主要機能 1. データ格納とアクセス 線形リストはデータを順序通りに格納し、効率的な組織化と管理を可能にします。インデックスを使用することでデータ要素への高速アクセスが実現されます。 2. データ挿入と削除 任意の位置へのデータ要素の挿入・削除操作をサポートします。これによりデータの更新や修正が容易になります。 3. データ検索 インデックス ...

7月21日 02:07 投稿

逆順配列

逆順配列とは?配列の要素を逆の順序に並べ替える操作です。例えば、入力が 1 4 7 9 3 の場合、出力は 3 9 7 4 1 となります。方法1:インプレースでの逆順この方法では、追加の配列を使用せず、元の配列内で要素を直接交換します。左右から要素を交互に交換し、中心に向かって進んでいきます。#include <stdio.h> #define MAX_SIZE 10 void reverse_in_place(int a ...

7月20日 03:14 投稿

プログラミング実験レポート

1. 点数評価システム #include <stdio.h> char calculateGrade(int score); int main() { int score; char result; while (printf("点数を入力してください: "), scanf("%d", &score) != EOF) { result = calculateGrade(score); printf("Score: %d, Grade: %c\n\n", score, result); } return 0; } char calculateGrade( ...

7月19日 17:22 投稿

C構造体からJSONへのシリアライズ、デシリアライズコードを自動生成する方法

JSON形式でデータを交換したいが、特に構造体がネストしている場合、生成と解析のコードを手動で記述するのは面倒です。このプロセスを自動化する方法を紹介します。 独自の構造を定義し、Pythonでその構造を解析し、Cheetahライブラリを使用して変換コードを生成します。 再帰的なアプローチを使用して構造体のネストを処理し、コード量を削減します。 依存関係のインスト ...

7月19日 02:21 投稿

C言語における制御構造:分岐とループ

C言語における制御構造は、プログラムの実行フローを制御するために不可欠です。これらは主に、条件に基づいて異なるコードパスを選択する分岐(選択)構造と、特定の条件が満たされるまでコードブロックを繰り返し実行するループ構造に分類されます。 分岐(選択)構造 if文 if文は、指定された条件が真(非ゼロ)の場合にコードブロックを実行するための基本的な ...

7月18日 20:33 投稿

C言語の基本概念 - 1. 論理型と演算子

論理型と論理演算 <stdbool.h> ヘッダーファイルをインクルードする これにより bool 型および true、false 定数が利用可能になる 例1: #include <stdio.h> #include <stdbool.h> int main() { bool b = 6 > 5; bool t = true; printf("%d\n", t); t = 2; printf("%d\n", t); printf("%d\n&quot ...

7月18日 17:45 投稿

汎用連結リストの実装

汎用連結リストの実装 汎用連結リストの設計思想は、ノード構造体を定義し、その中に前のノードと次のノードを指すポインタを含むことです。その後、具体的な要件に応じて、ノード構造体内に他のデータ構造をネストすることで、異なる種類の連結リストを実現します。 構造体メンバの先頭アドレス計算 // 構造体メンバmemberが構造体内の最初のメンバアドレスからのオフ ...

7月18日 00:49 投稿

アルゴリズム問題:文字列操作とスタックの応用

LeetCode1047: 文字列内の隣接する重複項の削除 問題: 小文字からなる文字列 S が与えられます。重複項削除操作は、隣接する同じ文字のペアを選択して削除します。 S に対して重複項削除操作を繰り返し実行し、削除ができなくなるまで続けます。 すべての重複項削除操作が完了した後、最終的な文字列を返してください。答えは一意であることが保証されます。 例: 例: &l ...

7月16日 23:23 投稿

C言語構造体とアルゴリズムの実践的演習

4、演習課題4 task4.cソースコードと実行結果: 1 #include <stdio.h> 2 #define MAX_BOOKS 10 3 4 typedef struct { 5 char book_id[20]; // 書籍ID 6 char title[80]; // タイトル 7 char writer[80]; // 著者 8 double price; // 価格 9 int quantity; // 売上数量 10 } Publication; ...

7月16日 20:01 投稿