Advertisement

华中科技大学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;
    }
    }
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    

全部评论 (0)

还没有任何评论哟~