gpt4 book ai didi

c - 我的 Main 函数只要求我提供 1 个输入。如何获得将三个输入相乘的函数?

转载 作者:行者123 更新时间:2023-11-30 20:08:45 24 4
gpt4 key购买 nike

该程序试图做的是将来自 3 个不同函数的 3 个输入 (1.0f/3.0f) 相乘,以得出金字塔的体积。但我在使用最后一个函数时遇到了麻烦,它只要求我提供 1 个输入,因此不会将 3 个输入与 (1.0f/3.0f) 相乘。

float volume(float baselength, float baseWidth, float height){
float frac = (1.0f/3.0f);
float vol;
vol = baselength*baseWidth*height*frac;
return vol;
}
float main(){
displayTitle();
float num;

printf("Enter a Number: ");
scanf("%f", &num);

float frac = (1.0f/3.0f);
float baselength;
float baseWidth;
float height;
float result;

result = volume(baselength, baseWidth, height);
printf("The Volume of the Pyramid is %f",result);
}

我希望输出是:

Welcome to the Pyramid Program
Enter a Number: 5
Enter a Number: 4
Enter a Number: 3

The Volume of the Pyramid is 20.00

但是输出是

Welcome to the Pyramid Program
Enter a Number: 5
The Volume of the Pyramid is 0.000000

最佳答案

这是因为您只读取一个输入。

scanf("%f", &num);

读取一个输入并将其存储在变量 num 中,目前您的基长、基宽和高度都初始化为 0 。对于 3 个输入,您需要执行 3 次。我修改了你的代码

float volume(float baselength, float baseWidth, float height){
float frac = (1.0f/3.0f);
float vol;
vol = baselength*baseWidth*height*frac;
return vol;
}
int main(){
//displayTitle();
float num;
float frac = (1.0f/3.0f);
float baselength;
float baseWidth;
float height;
float result;

printf("Enter a Number: ");
scanf("%f", &baselength);
printf("Enter a Number: ");
scanf("%f", &baseWidth);
printf("Enter a Number: ");
scanf("%f", &height);


result = volume(baselength, baseWidth, height);
printf("The Volume of the Pyramid is %f",result);
return 0;
}

Ps 它总是 int main 并且它应该总是返回 0

关于c - 我的 Main 函数只要求我提供 1 个输入。如何获得将三个输入相乘的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55529061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com