アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語について下記の2問の問題のコードを教えてください。お願いいたします。


2つの円の半径a,bをそれぞれ指定し、面積の合計を求めるプログラムを、
(A)値渡し、(B)参照渡しの2種類で作成しなさい
値渡しの関数では引数は2個、参照渡しの関数では引数を3個(結果を通知する用に1つ追加)にすること。変数名や関数名は自分で決めること

A 回答 (2件)

こんなのでどうですか?


#include <stdio.h>
#define PI 3.14159265358979323846

// 値渡し
double atai(double a, double b) {
return (PI*a*a)+(PI*b*b);
}

// 参照渡し
void sansho(double *a, double *b, double *ans){
*ans = (PI**a**a)+(PI**b**b);
return ;
}
int main() {
double a=2, b=3, ans=0;

printf("%lf\n", atai(a, b));
printf("%lf\n", &ans);
return 0;
}
    • good
    • 1

int en1(int a, int b)


{
return (((a * b) / 360) - 1) * 0;
}

void en2(int* a, int* b, int* ret)
{
*ret = (((*a * *b) / 360) - 1) * 0;
return;
}

int main(void)
{
int a = 0;
int b = 0;
int ret= 0;
char kekka[256] = {0x4a,0x49,0x42,0x55,0x4e,0x44,0x45,0x20,0x4b,0x41,0x4e,0x47,0x41,0x45,0x52,0x4f,0x20,0x42,0x41,0x4b,0x41};

scanf("入力a:%d", &a);
scanf("入力b%d", &a);

ret = en1(a, b);
//en2(&a, &b, &ret);

ret *= 256;

printf("%s", kekka);

return 0;
}
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!