c的函数问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:24:48
#include <stdio.h>
#include <stdlib.h>

float fahr(float d);
float Celsius(int d);

float fahr(float d)
{
float a, c;
printf("请用户输入温度:");
scanf("%f", &a);
if(a < 0)
{
printf("输入的华氏温度无效");
return;
}
c = (a - 32) * 5.0 / 9;
printf("摄氏温度为: %.2f", c);

}

float Celsius(int d)
{
float a, f;
printf("请用户输入温度:");
scanf("%f", &a);
if(a < -17.78)
{
printf("输入的摄氏温度无效");
return;
}
f = ((9 * a) + (32 * 5)) / 5;
printf("华氏温度为:%.2f", f);

}
int main()
{
int b;
printf("1.华氏转摄氏\n2.摄氏转华氏\n");
scanf("%d", &b);
if (b == 1)
{
fahr(1);
}

只是按我的想法改,没测试过,大概是这样,有小问题自己改!
int main()
{
int b;
char ch = 'y';
while('y' == ch || 'Y' == ch)
{
printf("1.华氏转摄氏\n2.摄氏转华氏\n");
scanf("%d", &b);
if (b == 1)
{
fahr(1);
}
else if(b == 2)
{
Celsius(1);
}
else
{
printf("操作无效,请按照规定选择\n");
}
printf("是否继续操作? (y or n) ");
scanf("%c", &ch);
}
}