C++ 算法:雪人部落粮食贡献计算(最简代码,仅用 iostream 库)
#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
代码解释:
- 使用
#include<iostream>包含输入输出流库,使用using namespace std;简化代码。 - 声明变量
n表示雪人家庭数量,a表示每个家庭的粮食总量,ans表示总贡献量。 - 使用
cin>>n;读取雪人家庭数量。 - 使用循环
for(int i=1;i<=n;i++)遍历每个家庭。 - 使用
cin>>a;读取每个家庭的粮食总量。 - 使用
if(a-400>=0)判断是否满足贡献四分之一的条件,如果满足则计算贡献量ans+=a-400*0.75;否则,直接将粮食总量贡献ans+=a。 - 使用
cout<<ans<<endl;输出所有家庭贡献的总量。 - 返回 0 表示程序正常结束。
代码特点:
- 代码简洁易懂,适合初学者学习。
- 仅使用 iostream 库,避免了其他库的引入。
- 算法清晰,逻辑简单,易于理解。
学习建议:
- 尝试修改代码,实现不同的贡献方案。
- 使用其他数据结构和算法,优化代码效率。
- 尝试将该算法应用到其他实际场景中。
欢迎尝试,祝您编程愉快!
原文地址: https://www.cveoy.top/t/topic/oiYc 著作权归作者所有。请勿转载和采集!