我是大一新生,刚学c语言。谁能帮我写一个能运行两个数加减乘除的程序?我们书上说整数除整数最后也是整

2024-12-01 16:55:24
推荐回答(5个)
回答1:

#include

int main()

{

int i,j,d;

char c;

    scanf("%d%c%d",&i,&c,&j);

    switch(c)

{

case '+':

d=i+j;break;

case '-':

d=i-j;break;

case '*':

d=i*j;break;

case '/':

if(j!=0)d=i/j;

else

{

printf("Can not divided by 0!\n");

return 1;

}

}

printf("%d%c%d=%d\n",i,c,j,d);

system("pause");

return 0;

}

回答2:

    int a=0;
    int b=0;
    printf("请输入被除数:");
    scanf("%d",&a);
    printf("请输入除数:");
    scanf("%d",&b);
    
    float result = (float)a/(float)b;
    
    printf("%d/%d=%0.2f\n",a,b,result);

 整数相除,结果要显示小数,所以结果的类型必须为float行,所以在除之前需要先将2个整数都转换成float型,真阳结果就是float,最后,结果需要显示几位,可以用printf来控制,%0.2f表示显示小数后边2位数。

回答3:

float calc(float a, float b, char op)
{
switch (op){
case '+': return a + b;
case '-': return a - b;
case '*': return a * b;
case '/': if (b) return a / b;
default: return 0;
}
}
int main()
{
char op;
int  a, b;
while (1)
{
float res;
scanf("%d%[+-*/]%d", &a, &op, &b);
res = calc((float)a, (float)b, op);
if (res == (int) res)
printf("%d%c%d=%d\n", a, op, b, (int)res);
else
printf("%d%c%d=%f\n", a, op, b,  res);
}
return 0;
}

回答4:

float a,b,c;scanf("%f%f",&a,&b);c=a*b;printf("%d",c);

回答5:

计算时,把除数强制转换成float,结果存储在float变量