gpt4 book ai didi

C 程序 : converting an if statement code to a code which does not use logical, 关系运算符或选择结构(允许 NO 开关)

转载 作者:行者123 更新时间:2023-11-30 18:49:42 25 4
gpt4 key购买 nike

我用 C 写了这段代码。它相当简单易懂。如何将程序末尾的 if 语句转换为不使用任何类型的逻辑或关系运算符、任何选择结构或任何数组的语句?这意味着 if 语句必须转换为简单的算术代码。

#include<stdio.h>
#include<math.h>

int main (void)
{
//Declarations

int m; //mass of the object
int vi; //initial velocity of the object
int ur; //coefficient of resistance
int choice; //choice
double net_force; //net force acting on the object
double force_grav; //force due to gravity only
double force_res; //force due to the resistance only
double force_des; //Desired force in output section

#define g 9.8

//Input statements
printf("Please input the mass in kilograms:");
scanf("%d",&m);
printf("Please input the launch speed (m/s):");
scanf("%d",&vi);
printf("Please input the coefficient of resistance (kg/s):");
scanf("%d",&ur);

//Executable Statements
printf("Choices for calculation:\n");
printf("1. Force due to gravity only\n");
printf("2. Net force\n");
printf("3. Force due to resistance only\n");
printf("Please enter your choice: ");
scanf("%d", &choice);

//Calculations
force_grav = m * g;
force_res = (-1) * ur * vi;
net_force = force_res + force_grav;


if(choice==1)
printf("Desired force: %2.3lf", force_grav);
else
if(choice==2)
printf("Desired force: %2.3lf", net_force);
else
printf("Desired force: %2.3lf", force_res);

return(0);
}

最佳答案

如果问题应该通过算术解决,我的建议是:

force_grav = m * g;
force_res = (-1) * ur * vi;
net_force = force_res + force_grav;

force = force_grav*(2-choice)*(3-choice)/2 +
force_res*(1-choice)*(2-choice)/2 +
net_force*(1-choice)*(3-choice)*(-1);

printf("Desired force: %2.3lf", force);

变量“choice”现在有效地选择,哪些被加数对项的结果有贡献。

这个术语当然可以简化,但我让它“按原样”来展示这个概念。

关于C 程序 : converting an if statement code to a code which does not use logical, 关系运算符或选择结构(允许 NO 开关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42071217/

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