NOI题解(1.5编程基础之循环控制)

本文主要解析了全国青少年信息学奥林匹克(NOI)中涉及的编程基础题目,涵盖循环控制在解决实际问题如救援、球弹跳高度计算、角谷猜想等众多数学与计算机算法的应用。通过这些实例,深入理解并掌握循环控制结构在算法设计中的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


01:求平均年龄

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    int count;
    cin>>count;
    int num[100];
    int sum=0;
    for(int i=0;i<count;i++)
    {
        cin>>num[i];
        sum+=num[i];
    }
    cout<<fixed<<setprecision(2)<<sum/(float)count;
    return 0;
}



02:财务管理

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    float num[12];
    float sum=0;
    for(int i=0;i<12;i++)
    {
        cin>>num[i];
        sum+=num[i];
    }
    cout<<fixed<<setprecision(2)<<"$"<<sum/(float)12;
    return 0;
}



03:均值

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    int count;
    cin>>count;
    float num;
    float sum=0;
    for(int i=0;i<count;i++)
    {
        cin>>num;
        sum+=num;
    }
    cout<<fixed<<setprecision(4)<<sum/(float)count;
    return 0;
}



04:求整数的和与均值

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    int count;
    cin>>count;
    int num;
    int sum=0;
    for(int i=0;i<count;i++)
    {
        cin>>num;
        sum+=num;
    }
    cout<<sum<<" "<<fixed<<setprecision(5)<<(double)sum/count;//float会wrong answer,我私以为float够用了,不知道为什么会错
    return 0;
}



05:最高的分数

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    int count;
    cin>>count;
    int num;
    int max=0;
    for(int i=0;i<count;i++)
    {
        cin>>num;
        if(max<num)
            max=num;
    }
    cout<<max;
    return 0;
}



06:整数序列的元素最大跨度值

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    int count;
    cin>>count;
    int num;
    int min=1000;
    int max=0;
    for(int i=0;i<count;i++)
    {
   	cin>>num;
        if(max<num)
            max=num;
        if(min>num)
            min=num;
    }
    cout<<max-min;
    return 0;
}



07:奥运奖牌计数

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    int count;
    cin>>count;
    int a,b,c;
    int gold=0,sliver=0,cotton=0;
    for(int i=0;i<count;i++)
    {
        cin>>a>>b>>c;
        gold+=a;
        sliver+=b;
        cotton+=c;
    }
    cout<<gold<<" "<<sliver<<" "<<cotton<<" "<<gold+sliver+cotton;
    return 0;
}



08:多边形内角和


#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int 
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值