C语言浮点数加减乘除四舍五入

2个含有2位小数的浮点数x和y,计算出这两个浮点数和,差,商,积,又将得到的四个浮点数按四舍五入的规则转换为整数,希望写一个程序验证计算结果正确性
input共一行,包括两个浮点数x与y
output共一行,四个整数,中间用空格隔开,四个整数分别为x+y,x-y,x*y,x/y四舍五入后的结果

记得采纳哦

#include <stdio.h>  
#include <math.h>  
  
int main() {  
    float x, y;  
    printf("请输入两个含有2位小数的浮点数x和y:\n");  
    scanf("%f %f", &x, &y);  
    float sum = round(x + y);  
    float diff = round(x - y);  
    float prod = round(x * y);  
    float quot = round(x / y);  
    printf("和=%d,差=%d,积=%d,商=%d\n", sum, diff, prod, quot);  
    return 0;  
}

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

int main()
{
    float x, y;
    printf("请输入两个浮点数(保留两位小数):");
    scanf("%f %f", &x, &y);

    float s = x + y;
    float d = x - y;
    float q = x / y;
    float p = x * y;
    printf("和:%.2f\n", s);
    printf("差:%.2f\n", d);
    printf("商:%.2f\n", q);
    printf("积:%.2f\n", p);
    int rs = round(s);
    int rd = round(d);
    int rq = round(q);
    int rp = round(p);
    printf("和:%d\n", rs);
    printf("差:%d\n", rd);
    printf("商:%d\n", rq);
    printf("积:%d\n", rp);
    return 0;
}

手动四舍五入
int t=(sum*100+0.5)/100 第2位小数四舍五入

用库函数 <tgmath.h>的 round
int t=round(sum)

【以下回答由 GPT 生成】

解决方案

要在C语言中进行浮点数的加减乘除操作,并将结果四舍五入为整数,可以按照以下步骤进行:

  1. 定义两个浮点数变量xy,分别表示输入的两个浮点数。

c float x, y;

  1. 使用scanf函数从用户输入中读取这两个浮点数的值。

```c printf("请输入浮点数x:"); scanf("%f", &x);

printf("请输入浮点数y:"); scanf("%f", &y); ```

  1. 计算浮点数的和、差、积和商。

c float sum = x + y; float difference = x - y; float product = x * y; float quotient = x / y;

  1. 将计算出的浮点数值四舍五入为整数。

c int roundSum = (int)(sum + 0.5); // 四舍五入求和 int roundDifference = (int)(difference + 0.5); // 四舍五入求差 int roundProduct = (int)(product + 0.5); // 四舍五入求积 int roundQuotient = (int)(quotient + 0.5); // 四舍五入求商

  1. 输出四舍五入后的整数结果。

c printf("四舍五入后的和:%d\n", roundSum); printf("四舍五入后的差:%d\n", roundDifference); printf("四舍五入后的积:%d\n", roundProduct); printf("四舍五入后的商:%d\n", roundQuotient);

完整代码如下:

#include <stdio.h>

int main() {
    float x, y;

    printf("请输入浮点数x:");
    scanf("%f", &x);

    printf("请输入浮点数y:");
    scanf("%f", &y);

    float sum = x + y;
    float difference = x - y;
    float product = x * y;
    float quotient = x / y;

    int roundSum = (int)(sum + 0.5);
    int roundDifference = (int)(difference + 0.5);
    int roundProduct = (int)(product + 0.5);
    int roundQuotient = (int)(quotient + 0.5);

    printf("四舍五入后的和:%d\n", roundSum);
    printf("四舍五入后的差:%d\n", roundDifference);
    printf("四舍五入后的积:%d\n", roundProduct);
    printf("四舍五入后的商:%d\n", roundQuotient);

    return 0;
}

运行以上代码,程序会依次提示输入两个浮点数,并输出四舍五入后的和、差、积和商。

注意:以上代码是基于C语言标准的,直接运行在大部分C编译器中是没有问题的。然而,某些特定的编译器或硬件平台可能对浮点数运算有所改动,导致四舍五入的结果不准确。所以在实际应用中,如果对精确度要求较高,可能需要使用特定的库函数或算法来进行浮点数的运算和四舍五入。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^