C言語の基本的な構造と制御構造を理解するための実験を通じて、基礎的なプログラミングスキルを習得しました。以下に各課題の実装例を示します。
文字パターンの表示
#include <stdio.h>
int main()
{
printf(" @ ");
printf(" @ \n");
printf("@<3> ");
printf("@<3>\n");
printf("X X ");
printf("X X\n");
return 0;
}
三角形の成立条件の判定
#include<stdio.h>
int main()
{
double side1, side2, side3;
scanf("%lf%lf%lf", &side1, &side2, &side3);
if(side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1)
printf("三角形を形成可能です\n");
else
printf("三角形を形成できません\n");
return 0;
}
学習習慣に関する質問応答
#include<stdio.h>
int main()
{
char habit1, habit2;
printf("授業前に予習を行い、後に復習していますか?(y/YはYES、n/NはNO):");
habit1 = getchar();
getchar();
printf("\n実際にコードを入力して実践していますか?(y/YはYES、n/NはNO):");
habit2 = getchar();
if((habit1 == 'y' || habit1 == 'Y') && (habit2 == 'y' || habit2 == 'Y'))
printf("\n継続は力なり、良い習慣を維持してください:)\n");
else
printf("\n地道な努力で改善していきましょう\n");
return 0;
}
データ型の入出力操作
#include<stdio.h>
int main()
{
double val1, val2;
char chr1, chr2, chr3;
int num1, num2, num3;
scanf("%d%d%d", &num1, &num2, &num3);
printf("num1 = %d, num2 = %d, num3 = %d\n", num1, num2, num3);
scanf("%c%c%c", &chr1, &chr2, &chr3);
printf("chr1 = %c, chr2 = %c, chr3 = %c\n", chr1, chr2, chr3);
scanf("%lf%lf", &val1, &val2);
printf("val1 = %f, val2 = %f\n", val1, val2);
return 0;
}
時間換算計算
#include<stdio.h>
int main()
{
int years;
years = 1000000000 / 60 / 60 / 24 / 365;
printf("10億秒は約%d年です\n", years);
return 0;
}
べき乗計算
#include <stdio.h>
#include <math.h>
int main()
{
double base, result;
scanf("%lf", &base);
result = pow(base, 365);
printf("%.2fの365乗: %.2f\n", base, result);
return 0;
}
温度変換プログラム
#include<stdio.h>
int main()
{
double celsius, fahrenheit;
while(scanf("%lf", &celsius) != EOF)
{
fahrenheit = (1.8) * celsius + 32;
printf("摂氏%lf度に対応する華氏は%lf度です", celsius, fahrenheit);
}
return 0;
}
ヘロンの公式による三角形面積計算
#include <stdio.h>
#include <math.h>
int main() {
float edge1, edge2, edge3, semi_perimeter, triangle_area;
while (1) {
printf("三角形の3辺の長さを入力してください(0 0 0で終了):\n");
scanf("%f %f %f", &edge1, &edge2, &edge3);
if (edge1 == 0 && edge2 == 0 && edge3 == 0) {
break;
}
semi_perimeter = (edge1 + edge2 + edge3) / 2;
triangle_area = sqrt(semi_perimeter * (semi_perimeter - edge1) * (semi_perimeter - edge2) * (semi_perimeter - edge3));
printf("edge1 = %.3f, edge2 = %.3f, edge3 = %.3f, 面積 = %.3f\n", edge1, edge2, edge3, triangle_area);
}
return 0;
}
この実験では、C言語の基本構文、データ型の扱い、条件分岐、繰り返し処理などの知識を強化し、問題解決能力と論理的思考能力を向上させました。各課題を通じてアルゴリズム設計とコード実装のスキルも習得しました。