gpt4 book ai didi

传达C中的公式(%是)

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

所以我必须在C中编写这个公式“y = y/(3/17) - z + x/(a % 2) + PI”我遇到了 (a%2) 的问题,因为它返回奇数值。即 1%2 = 0.000001

int assignment7()
{
#define PI 3.14
int a=0,amod2;
double Ny=0,y=0,z=0,x=0;
printf("Enter values for x,y,z and a: ");
scanf("%d%lf%lf%lf",&a,&y,&z,&x);
//printf("%d,%lf,%lf,%lf\n",a,y,z,x);
//amod2=1%2;
//printf("%lf",amod2);
Ny=y/(double)(3/17) - z+x / amod2 + PI;
printf("%lf\n",Ny);

最佳答案

当你说:

printf("%lf",amod2);

编译器期望 amod2 为“long float”(又名 double),但您将其定义为:

int amod2;

此外,您的提示显示“x,y,z 和 a”,但您按照“a,y,z,x”的顺序阅读:

printf("Enter values for x,y,z and a: ");
scanf("%d%lf%lf%lf",&a,&y,&z,&x);

这充其量也很尴尬。

编辑:清理了一下并对操作顺序做了一些假设:

    #include <stdio.h>

#define PI 3.14
#define DIVSOR (3.0/17.0)

int assignment7 ( void );

int assignment7 ( void ) {

double x = 0.0;
double y = 0.0;
double z = 0.0;
int a = 0;
int amod2;
double Ny;

printf("Enter values for x,y,z and a: ");
scanf("%lf%lf%lf%d",&x,&y,&z,&a);
amod2 = a % 2;
Ny = (y / DIVSOR) - z + (x / amod2) + PI;
printf("%lf\n", Ny);
return 0;
}

int main ( void ) { return assignment7(); }

您没有说明您要提供什么输入(带有输入和预期结果的测试用例将非常有帮助),但我可以指出x/(a % 2) 当 a 为 2 或 4 或 6 或 ... 时,将无穷大

关于传达C中的公式(%是),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25756506/

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