1 条题解

  • 0
    @ 2024-12-22 11:04:02

    C :

    #include <stdio.h>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>
    #define ARR_SIZE 20
    void  MaxMinExchang(int a[], int n)
    {
    	int  maxValue = a[0], minValue = a[0], maxPos = 0, minPos = 0;
    	int  i, temp;
    
    	for (i=1; i<n; i++)
    	{
    		if (a[i] > maxValue)
    		{
    				maxValue = a[i];
                	maxPos = i;
    		}
            	if (a[i] < minValue)
    		{
    				minValue = a[i];
                	minPos = i;
           	}
    	}
    	temp = a[maxPos];
    	a[maxPos] = a[minPos];
    	a[minPos] = temp;
    }
    int main()
    {
     //  freopen("in","r",stdin);
      //  freopen("out","w",stdout);
    
    	int a[ARR_SIZE], i, n;
    	while(scanf("%d", &n) !=EOF){
     	for (i=0; i<n; i++)
     	{
    		scanf("%d", &a[i]);
     	}
    
    	MaxMinExchang(a, n);
    	for (i=0; i<n-1; i++)
    	{
             	printf("%d ", a[i]);
    	}
    	printf("%d\n",a[i]) ;
    	}
      return 0;
    }
    
    

    C++ :

    #include<cstdio>
    using namespace std;
    int main()
    {
    	int n;
    	while (scanf("%d", &n) != EOF)
    	{
    		int i;
    		int arr[1000], max, min, temp;
    		int maxnum = 0, minnum = 0;
    		for (i = 0; i < n; i++)
    		{
    			scanf("%d", &arr[i]);
    			if (i == 0)
    			{
    				max = arr[0];
    				min = arr[0];
    			}
    			else
    			{
    				if (arr[i]>max)
    				{
    					max = arr[i];
    					maxnum = i;
    				}
    				if (arr[i] < min)
    				{
    					min = arr[i];
    					minnum = i;
    				}
    			}
    		}
    		temp = arr[maxnum];
    		arr[maxnum] = arr[minnum];
    		arr[minnum] = temp;
    		for (i = 0; i < n; i++)
    		{
    			if (i == n - 1)
    				printf("%d", arr[i]);
    			else
    				printf("%d ", arr[i]);
    		}
    		printf("\n");
    	}
    }
    
    • 1

    信息

    ID
    256
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者