MENU

Fun & Interesting

【基礎プログラミングENG】030-2:C言語[構造体/構造体を戻り値とする関数]

Video Not Working? Fix It Now

*プログラムリストは、下記にあります↓
#C言語#構造体#構造体を戻り値とする関数
【学習内容】
1:構造体 1
2:構造体 2

-----------------------------------------------------------------------------------
<プログラムリスト>(Visual Studio2022)
コピー&ペーストでお使い下さい。
*”TABキー”でスペースの間隔の体裁を整えて下さい。
(プログラムの記述画面に”全角”のスペースが
 含まれていると、ビルドに失敗します。)
-----------------------------------------------------------------------------------
【プログラム1】
[構造体を戻り値とした関数]
-----------------------------------------------------------------------------------
//**の部分の<,>を半角文字に書き換えて下さい。

#include<stdio.h>

struct Data {
int x;
int y;
int z;
};

struct Data data_of(int x, int y, int z)
{
struct Data value;
value.x = 2 * x;
value.y = 2 * y;
value.z = 2 * z;

return value;
}


int main(void)
{
struct Data s;

s = data_of(2, 4, 6);

printf("x' = %d/y' = %d/z' = %d\n", s.x, s.y, s.z);

return 0;

}

-----------------------------------------------------------------------------------
【プログラム2】
[2点間の距離を求める]
-----------------------------------------------------------------------------------
//**の部分の<,>を半角文字に書き換えて下さい。

#include<math.h> //**
#include<stdio.h> //**
#define Squared(n) ((n) * (n)) //2乗の計算

typedef struct {
double x; //x座標
double y; //y座標
}Point;

double distance(Point p1, Point p2)
{
//距離の計算(三平方の定理より)
return sqrt(Squared(p2.x - p1.x) + Squared(p2.y - p1.y));
}


int main(void)
{
Point p1, p2;

printf("点1のx座標"); scanf_s("%lf", &p1.x);
printf("   y座標"); scanf_s("%lf", &p1.y);
printf("点2のx座標"); scanf_s("%lf", &p2.x);
printf("   y座標"); scanf_s("%lf", &p2.y);

printf("\n2点間の距離 = %.2f\n", distance(p1, p2));

return 0;

}

Comment