帮我看看这C语言题

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:41:07
题目:编写一个函数,计算圆的面积和周长。编写一个程序,提示用户输入半径(r),然后输出该函数计算的值。
#include<stdio.h>
#define PI 3.14
float s()
{
float r;
printf("请输入半径:");
scanf("%f",&r);
return r;
}

float mj()
{
float m,r;
r=s();
m=PI*r*r;
return m;
}

float zc()
{
float z,r;
r=s();
z=2*PI*r;
return z;
}

void main()
{
float a,b;

a=mj();
b=zc();

printf("面积=%5.2f\n",a);
printf("周长=%5.2f\n",b);

}
我这样写的话,输入半径要输2次,请问我该怎样写,才能只输入一次半径

#include<stdio.h>
#define PI 3.14
float s()
{
float r;
printf("请输入半径:");
scanf("%f",&r);
return r;
}

float mj(float r)
{
float m;
m=PI*r*r;
return m;
}

float zc(float r)
{
float z;
z=2*PI*r;
return z;
}

void main()
{
float a,b,r;

r=s();
a=mj(r);
b=zc(r);

printf("面积=%5.2f\n",a);
printf("周长=%5.2f\n",b);

}

把输入放在主函数里

#include<stdio.h>
#define PI 3.14

float mj(float r)
{
float m;
m=PI*r*r;
return m;
}

float zc(float r)
{
float z;

z=2*PI*r;
return z;
}

void main()
{
float a,b,r;
printf("请输入半径:");
scanf("%f",&r);

a=mj(r);
b=zc(r);

pri