4.4 课后习题与实验(4)

习题 4-8

求三角形(洛谷P5725)

模仿例题,打印出不同方向的正方形,然后打印三角形矩阵。中间有个空行。

输入格式

输入矩阵的规模,不超过 9。

输出格式

输出矩形和正方形

输入输出样例

输入 输出
4 01020304
05060708
09101112
13141516

01
0203
040506
07080910

解答

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n,c=1;
	cin>>n;
	for(int i=1;i<=n;i++)
	{	
		for(int j=1;j<=n;j++)
		{
			cout<<setfill('0')<<setw(2)<<c;
			c++;
		}
		cout<<endl;
	}
	
	//正方形也可以直接求余输出
	//for(int i=1;i<=n*n;i++)
	//{	
	//	cout<<setfill('0')<<setw(2)<<c;
	//	c++;
	//	if(i%n==0)
	//		cout<<endl;
	//}
	
	cout<<endl;
	c=1;
		
	for(int i=1;i<=n;i++)
	{		
		for(int j=1;j<=(n-i);j++)
		{
			cout<<setfill(' ')<<setw(2)<<' ';
		}
		for(int k=1;k<=i;k++)
		{
			cout<<setfill('0')<<setw(2)<<c;
			c++;
		}
		cout<<endl;
	}
	return 0;
 } 

习题 4-9

打分(洛谷P5726)

现在有 n(n≤1000) 位评委给选手打分,分值从 0 到 10。需要去掉一个最高分,去掉一个最低分(如果有多个最高或者最低分,也只需要去掉一个),剩下的评分的平均数就是这位选手的得分。现在输入评委人数和他们的打分,请输出选手的最后得分,精确到 2 位小数。

输入输出样例

输入 输出
5
9 5 6 8 9
7.67

解答

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n;
	float c,zd=0,zx=10,s=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>c;
		if(c>zd) zd=c;
		if(c<zx) zx=c;
		s+=c;
	}
	cout<<setprecision(2)<<fixed<<(s-zd-zx)/(n-2);
	return 0;
 } 
posted @ 2021-05-06 17:50  CodeSpark  阅读(358)  评论(0)    收藏  举报