c语言代码问题,浮点数

对于输入的两个整数,按照要求输出其和差积商。

输入格式:
在一行内输入两个不超过100的非负整数a和b,中间以一个空格间隔,且保证b不为0。

输出格式:
共四行,格式是:

[a] + [b] = [a+b]
[a] - [b] = [a-b]
[a] * [b] = [a*b]
[a] / [b] = [a/b]
其中,带有方括号的内容(如[a]、[b]、[a+b]等)表示相应整数或运算结果的值,在输出时要用实际的值代替。

并且:如果a能够被b整除,那么a/b应输出为整数格式,否则a/b输出为带两位小数的格式。

提示:注意表达式中的空格。

#include 
int main()
{
    
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d + %d = %d\n",a,b,a+b);
    printf("%d - %d = %d\n",a,b,a-b);
    printf("%d * %d = %d\n",a,b,a*b);
    if (a%b==0){
        printf("%d / %d = %d",a,b,a/b);
    }else {
        printf("%d / %d = %.2f",a,b,a/b);
    }
    
    return 0;
} 
最后一个printf应该怎么改?

a/b改为a*1.0/b;

你这个都是整数计算,浮点数需要把 int 修改为 float
所有的 %d 修改为 %f

最后一个printf应该修改如下!

printf("%d / %d = %.2f",a,b,(float)a/b);

由于a和b都是定义的int的型数据,因此除法运算只会保留整数,不会有小数,要想实现小数显示,必须强制转换为float型数据!
希望结果对你有用!