#include<iostream>
using namespace std;
int main(){
    int n,a;
    double ans=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a;
        if(a-400>=0)
            ans+=a-400*0.75;
        else
            ans+=a;
    }
    cout<<ans<<endl;
    return 0;
}

题目描述: 雪人部落一共有 n 个雪人家庭,每年每个家庭通常会贡献自家粮食的四分之一给公共粮仓。如果贡献出四分之一以后,自家剩余的粮食不足 400kg,那么可以有一个代替方案,是将(自家粮食总量 - 400kg)的粮食贡献出来。请你编写程序,计算出所有雪人家庭贡献的粮食总量。

输入: 共两行。 第一行为一个整数 n,表示有 n 个雪人家庭。 第二行为 n 个整数,表示每个雪人家庭自家的粮食总量。保证每个总量都大于等于 400。

输出: 一个数,表示所有雪人家庭贡献的粮食总量。

输入样例 1: 4 710 623 592 415

输出样例 1: 496.25

输入样例 2: 5 440 800 600 700 460

输出样例 2: 625

代码解释:

  1. 使用 #include<iostream> 包含输入输出流库,使用 using namespace std; 简化代码。
  2. 声明变量 n 表示雪人家庭数量,a 表示每个家庭的粮食总量,ans 表示总贡献量。
  3. 使用 cin>>n; 读取雪人家庭数量。
  4. 使用循环 for(int i=1;i<=n;i++) 遍历每个家庭。
  5. 使用 cin>>a; 读取每个家庭的粮食总量。
  6. 使用 if(a-400>=0) 判断是否满足贡献四分之一的条件,如果满足则计算贡献量 ans+=a-400*0.75;否则,直接将粮食总量贡献 ans+=a
  7. 使用 cout<<ans<<endl; 输出所有家庭贡献的总量。
  8. 返回 0 表示程序正常结束。

代码特点:

  1. 代码简洁易懂,适合初学者学习。
  2. 仅使用 iostream 库,避免了其他库的引入。
  3. 算法清晰,逻辑简单,易于理解。

学习建议:

  1. 尝试修改代码,实现不同的贡献方案。
  2. 使用其他数据结构和算法,优化代码效率。
  3. 尝试将该算法应用到其他实际场景中。

欢迎尝试,祝您编程愉快!

C++ 算法:雪人部落粮食贡献计算(最简代码,仅用 iostream 库)

原文地址: https://www.cveoy.top/t/topic/oiYc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录