gpt4 book ai didi

c - 如何使用C函数制作简单的计算器?

转载 作者:行者123 更新时间:2023-11-30 20:04:40 32 4
gpt4 key购买 nike

我尝试过用C语言制作简单的计算器。但它不起作用,任何人都可以告诉我解决方案的问题。我是编程新手,所以请原谅任何愚蠢的错误。 参数是否有任何问题,因为我接受了 3 个输入,但在函数参数中我只使用了 2 个。除法功能运行不佳。

#include<stdio.h>
#include<conio.h>
int fun1(int *a,int *b);
int fun2(int *c,int *d);
int fun3(int *e,int *f);
int fun4(int *g,int *h);
int main()
{
int i,k;
char j;
scanf("%d%c%d",&i,&j,&k);
switch(j)
{
case '/':
fun1(&i,&k);
break ;
case '*':
fun2(&i,&k);
break ;
case '+':
fun3(&i,&k);
break ;
case '-':
fun4(&i,&k);
break ;
default:
printf("ERROR");
}
getch();
return 0;
}
fun1(int *a,int *b)
{
float divide;
float A=*a,B=*b;
if(A%B==0)
{
divide=A/B;
printf("= %.0f",divide);
}
else
{
divide=A/B;
printf("= %.2f",divide);
}
}
fun2(int *c,int *d)
{
int multiply,C=*c,D=*d;
multiply=C*D;
printf("= %d",multiply);
}
fun3(int *e,int *f)
{
int add,E=*e,F=*f;
add=E+F;
printf("= %d",add);
}
fun4(int *g,int *h)
{
int subtract;
int G=*g,H=*h;
subtract=G-H;
printf("= %d",subtract);
}

最佳答案

fun1中,您有divide = A/BAB 的类型为 int,因此 A/B 的类型将为 int code>,丢失任何小数部分。然后将此整数赋给 float 类型的 divide,此时除法的整数结果将转换为 float。

尝试:divide = (float) A/(float) B 代替。

关于您的代码的其他观点都很好,也应该得到解决。

关于c - 如何使用C函数制作简单的计算器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37985829/

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