一本通循环结构的程序设计题解(2)

1、求平均年龄

原题链接icon-default.png?t=M666http://ybt.ssoier.cn:8088/problem_show.php?pid=1059

【题目描述】

班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。

【输入】

第一行有一个整数n(1 ≤ n ≤ 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。

【输出】

输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。

【输入样例】

2

18

17

【输出样例】

17.50

代码:

#include<iostream>
using namespace std;
int n,a[120];
float ans;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=n;i++) ans+=a[i];
	ans/=n;
	printf("%.2lf",ans);
	return 0;
}

2、均值

原题链接icon-default.png?t=M666http://ybt.ssoier.cn:8088/problem_show.php?pid=1060【题目描述】

给出一组样本数据,包含n个浮点数,计算其均值,精确到小数点后4位。

【输入】

输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。

【输出】

输出一行,包含一个浮点数,表示均值,精确到小数点后4位

【输入样例】

2

1.0 3.0

【输出样例】

2.0000

代码:

#include<iostream>
using namespace std;
int n;
float a[1020];
float ans;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		ans+=a[i];
	}
	ans/=n;
	printf("%.4lf",ans);
	return 0;
 }

3、求整数的和与均值

原题链接icon-default.png?t=M666http://ybt.ssoier.cn:8088/problem_show.php?pid=1061

【题目描述】

读入n(1≤n≤10000)个整数,求它们的和与均值。

【输入】

输入第一行是一个整数n,表示有n个整数。

第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。

【输出】

输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。

【输入样例】

4

344

222

343

222

【输出样例】

1131  282.75000

代码:

#include<iostream>
using namespace std;
int n;
int a[10020];
double ans;
int sum;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		ans+=a[i];
		sum+=a[i];
	}
	ans/=n;
	printf("%d %.5lf",sum,ans);
	return 0;
 }

4、最高的分数

【题目描述】

孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?

【输入】

输入两行,第一行为整数n(1 ≤ n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。

【输出】

输出一个整数,即最高的成绩。

【输入样例】

5

85 78 90 99 60

【输出样例】

99

代码:

#include<iostream>
#include<cmath>
using namespace std;
int n;
int a[120];
int res=-1;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		res=max(res,a[i]);
	}
	cout<<res<<endl;
	return 0;
 }

新手,请多多指教

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值