华中科技大学SPOC编程题第五章

1输入十个不相等的正整数,求其平均值,并求最接近平均值的那个整数,如果有两个,则两个都输出(20分)
题目内容:

输入十个不相等的正整数,求其平均值,并求最接近平均值的那个整数,如果有两个,则两个都输出

输入格式:10个正整数

输出格式:最接近平均值的所有正整数,数与数之间用回车隔开

输入样例:1 2 3 4 5 6 7 8 9 10

输出样例:

5

6

#include<iostream>
#include<cmath>
using namespace std;
int main(){
    
    
double  a[10],b[10];
for (int i=0;i<10;i++)
{
    
    
cin>>a[i];
}
double s=0;
for(int i=0;i<10;i++)
{
    
    
s=s+a[i];
}
s/=10;
for(int i=0;i<10;i++)
{
    
    
b[i]=fabs(a[i]-s);
}
double min=b[0];
for(int i=0;i<10;i++)
{
    
    
if(b[i]<min)
min=b[i];
}
for(int i=0;i<10;i++)
{
    
    
if(fabs(a[i]-s)==min)
cout<<a[i]<<endl;
}
return 0;
}

时间限制:500ms内存限制:128000kb
2输入一个5*5数组元素的值,并输入一个整数m(m<10 m>(10分)
题目内容:

输入一个5*5数组元素的值,并输入一个整数m(m<10),将二维数组的右上半角元素的值乘以m,然后输出相乘后的二维数组元素。每个数组元素占5个字符宽度,并且右对齐,每输出一行后换行

输入格式:先按行输入二维数组元素,然后输入整数m

输出格式:

输出相乘后的数组元素,每个数组元素占5个字符宽度,并且右对齐,每输出一行后换行

输入样例:

1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
3

输出样例:

 3    6    9   12   15

 2    9   12   15   18
 3    4   15   18   21
 4    5    6   21   24
 5    6    7    8   27
#include <iostream>
#include<iomanip>
using namespace std;
int main() 
{
    
    
	int matrix[5][5] = {
    
     0 };
	for(int i=0;i<=4;i++)
		for (int j = 0; j <= 4; j++)
		{
    
    
			cin >> matrix[i][j];
		}
	int x = 0;
	cin >> x;
	for(int i=0;i<=4;i++)
		for (int j = i; j <= 4; j++)
		{
    
    
			matrix[i][j] *= x;
		}
	for (int i = 0; i <= 4; i++)
	{
    
    
		for (int j = 0; j <= 4; j++)
		{
    
    
			cout << setw(5) << matrix[i][j];
		}
		cout << endl;
	}

	return 0;
}

3输入6个不等长字符串,将这6个字符串按照字符串长度排序,并按从长到短的顺序输出字符串。(20分)
题目内容:输入6个不等长字符串,将这6个字符串按照字符串长度排序,并按从长到短的顺序输出字符串。

输入格式:输入六个长度不超过45的不等长字符串

输出格式:

输出按长度排序后的字符串,字符串之间用回车隔开

输入样例:

美国
巴基斯坦
乌兹别克斯坦
哈萨克斯坦
俄罗斯
中华人民共和国

输出样例:

中华人民共和国
乌兹别克斯坦
哈萨克斯坦
巴基斯坦
俄罗斯
美国

时间限制:500ms内存限制:128000kb

#include<iostream>
#include<cstring>
using namespace std;
int main(){
    
    
char a[6][45];
int b[6];
for(int i=0;i<6;i++)
{
    
    
cin>>a[i];
}
for(int i=0;i<6;i++)
b[i]=strlen(a[i]);
for(int i=0;i<6;i++)
{
    
    
for(int j=0;j<5;j++)
{
    
    
if(b[j]>b[j+1]) 
{
    
    
int t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
}
}
for(int i=5;i>=0;i--)
{
    
    
for(int j=0;j<6;j++)
if(b[i]==strlen(a[j]))
cout<<a[j]<<endl;
}
}

猜你喜欢

转载自blog.csdn.net/weixin_51236357/article/details/112077242
今日推荐