C语言农夫与石头问题(附带源码)

在一条小河边,有一位特别憨厚的老农用扁担挑着两筐货物准备过河,为了保持扁担两边的平衡,他需要在其中一只筐里放入 4 块总重量为 20 千克的石头。他事先已经捡了三块不同重量的石头,请问他应该再捡一块多少千克的石头?

要求任意输入三块石头的重量(总重不大于 20 千克),让计算机输出一个数,表示农夫应该去捡的石头重量。

问题分析

输入:任意输入三个浮点数。

输出:一个浮点数,表示还应该去捡的石头重量。

这是一个非常简单的数学运算。假设已有三块石头的重量分别是 a、b、c,则还应该去捡的第四块石头重量为x=20-a-b-c

算法描述

程序N-S图描述

代码清单 1:C语言程序源代码(农夫与石头)
#include <stdio.h>
#include <stdlib.h>
int main()
{
    system("color 70");
    float a,b,c,x;
    printf("请输入三个浮点数(空格分隔),然后回车:\n");
    scanf("%f %f %f",&a,&b,&c);
    x = 20- a - b - c;
    printf("还应捡的第四块石头重量为:%.2f千克",x);
    system("pause");
    return 0;
}

运行结果:

请输入三个浮点数(空格分隔),然后回车:
2.6 9.8 7.3
还应捡的第四块石头重量为:0.30千克