精华内容
下载资源
问答
  • 交换最小值和最大值

    千次阅读 2020-07-31 10:25:26
    7-72 交换最小值和最大值 (15分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式:...

    7-7 交换最小值和最大值 (15分)

    本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

    注意:题目保证最大和最小值都是唯一的。
    输入格式: 输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。
    输出格式: 在一行中顺序输出交换后的序列,每个整数后跟一个空格。

    输入样例:
    5 8 2 5 1 4

    输出样例:
    1 2 5 4 8

    #include<stdio.h>
    
    void swap(int *a,int *b)//交换函数 
    {
    	int temp = *a;
    	*a = *b;
    	*b = temp;
    }
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	int arr[n];
    	for(int i=0; i<n; i++)
    	{
    		scanf("%d",&arr[i]);
    	}
    	int max=0,min=0; 
    	for(int k=0;k<n;k++)//依次比较找出最大值和最小值 
    	{
    		if(arr[k]>arr[max])
    		{
    			max = k;
    		}
    		if(arr[k]<arr[min])
    		{
    			min = k;
    		}
    	}
    	if(min != 0 && max!=0)//排除最大值在第一位的情况 
    	{
    		swap(&arr[min],&arr[0]);
    	}
    	else
    	{
    		swap(&arr[min],&arr[0]);
    		max = min;//最大值在第一位时 交换顺序后 最大值的位置改变 
    	}
    	if(max != n-1)
    	{
    		swap(&arr[max],&arr[n-1]);
    	}
    	for(int i=0;i<n;i++)
    	{
    		printf("%d ",arr[i]);
    	}
    	return 0;
    }
    
    展开全文
  • PTA 7-4 交换最小值和最大值

    千次阅读 2020-12-05 20:27:35
    @[TOC]PTA 7-4 交换最小值和最大值 PTA 7-4 交换最小值和最大值 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大...

    @[TOC]PTA 7-4 交换最小值和最大值

    PTA 7-4 交换最小值和最大值

    本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
    注意:题目保证最大和最小值都是唯一的。
    输入格式:
    输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。
    输出格式:
    在一行中顺序输出交换后的序列,每个整数后跟一个空格。
    输入样例:
    5
    8 2 5 1 4
    输出样例:
    1 2 5 4 8

    C语言源代码:
    #include<stdio.h>
    int main()
    {
    int N,i,a[10];
    scanf("%d",&N);
    for(i=0;i<N;i++){
    scanf("%d",&a[i]);
    }
    int min=0,max=0,temp;
    for(i=1;i<N;i++){
    if(a[min]>a[i]) min=i;
    }
    temp=a[0];
    a[0]=a[min];
    a[min]=temp;
    for(i=1;i<N;i++){
    if(a[max]<a[i]) max=i;
    }
    temp=a[N-1];
    a[N-1]=a[max];
    a[max]=temp;
    for(i=0;i<N;i++){
    printf("%d ",a[i]);
    }
    return 0;
    }

    展开全文
  • 9:交换最小值和最大值 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: 输入在第一...

    9:交换最小值和最大值
    本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

    注意:题目保证最大和最小值都是唯一的。

    输入格式:
    输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。

    输出格式:
    在一行中顺序输出交换后的序列,每个整数后跟一个空格。

    输入样例:
    5
    8 2 5 1 4

    输出样例:
    1 2 5 4 8

    作者 C课程组
    单位 浙江大学
    代码长度限制 16 KB
    时间限制 400 ms
    内存限制 64 MB

    #include<stdio.h>
    static int c;
    int main()
    {
    int n,a[10],i,b[10],t;
    scanf("%d",&n);
    for(i=0;i<n;i++){scanf("%d",&a[i]);b[i]=a[i];}
    for(i=1;i<n;i++){if(b[0]>b[i])  {t=b[0];b[0]=b[i];b[i]=t;}  }
    for(i=0;i<n;i++){if(b[0]==a[i])   {c=i;}  }
    t=a[0]; a[0]=a[c]; a[c]=t;
    for(i=1;i<n;i++){if(b[0]<b[i])  {t=b[0];b[0]=b[i];b[i]=t;}  }
    for(i=0;i<n;i++){if(b[0]==a[i])  {c=i;}  }
    t=a[n-1];a[n-1]=a[c];a[c]=t;
    for(i=0;i<n;i++)
    printf("%d ",a[i]);
    }
    
    

    在这里插入图片描述

    #include<stdio.h>
    int main(){
    	int N,i,t,a[10];
    	scanf("%d",&N);
    	for(i=0;i<N;i++) {  scanf("%d",&a[i]);	}
    	int min=0;               /*先假设min值下标为0*/
    	for(i=1;i<N;i++) {      /*然后从下标1开始依次和下标min比较大小*/
    		if(a[i]<a[min])    /*如果a[i]<a[]min,就把i赋值于min*/
    			min=i;        /*用min来存最小值的小标*/
                        }    /*通过上面语句找出最小值a[min]*/
    	t=a[0];             /*把数组的第一值啊a[0]赋值于t*/ 
    	a[0]=a[min];       /*再把最小值啊a[min]赋值于a[0],这样第一个数就是最小值啦*/
    	a[min]=t;         /*然后在把之前存放在t的数组第一个值赋值与a[min]*/
    	                 /*通过上面的三条语句就实现交换啦*/
    	int max=0;
    	for(i=1;i<N;i++) {if(a[i]>a[max])	max=i;	}
    	t=a[N-1];
    	a[N-1]=a[max];	
    	a[max]=t;     /*关于最大值交换同上*/
    	for(i=0;i<N;i++) {  printf("%d ",a[i]); }
    	return 0;
    }
    
    

    在这里插入图片描述

    #include<stdio.h>
    int main()
    {
    	int N,i,min,max,lim,z;
    	scanf("%d",&N);
    	int s[N];
    	for(i=0;i<N;i++){  scanf("%d",&s[i]);	}
    	min=s[0];  max=s[0];
    	for(i=1;i<N;i++){ if(s[i]>max) max=s[i];     if(s[i]<min) min=s[i]; }   /*找到最大值和最小值*/
       for(i=1;i<N;i++)
       {if(s[i]==min) {lim=s[0]; s[0]=s[i]; s[i]=lim; break; } }/*确定最小值位置并与第一个元素交换*/
    	 for(i=1;i<N;i++) 
        {if(s[i]==max)  {lim=s[N-1];    s[N-1]=s[i]; s[i]=lim;} } /*找到最大值并与最后一个元素交换*/
    	printf("%d",s[0]);     
    	for(i=1;i<N;i++)
    	{ printf(" %d",s[i]);  } /*输出*/
    	printf(" ");
    	return 0;
    }
    
    

    在这里插入图片描述

    #include<stdio.h>
    void swap(int v[], int i, int j);
    int main() {
        int a[15], i, n, mini, maxi;
        scanf("%d", &n);
        mini = maxi = 0;
        for (i = 0; i < n; i++) {
            scanf("%d", &a[i]);
            if (a[i] < a[mini]) 
                mini = i;               //找到最小值的下标
             if (a[i] > a[maxi]) 
                maxi = i;              //找到最大值的下标
                               }
        swap(a, 0, mini);
        if(!maxi)              // 防止第一个数就是最大的,而第一次交换的时候把其交换到了mini的位置
            maxi = mini;
        swap(a, maxi, n - 1);      
        for (i = 0; i < n; i++)
            printf("%d ", a[i]);
            return 0;}
    void swap(int v[], int i, int j) { int temp = v[i];  v[i] = v[j];   v[j] = temp;}
    

    在这里插入图片描述

    #include<stdio.h>
    int main(){
    	int n,i,t,t1,t2,min,max;
    	scanf("%d",&n);
    		int a[n];
    	for(i=0;i<n;i++){ scanf("%d",&a[i]);}
    	max=min=a[0];//注意初始化 
    	for(i=0;i<n;i++)
        {if(a[i]>=max){t1=i;max=a[t1];}
        else if(a[i]<=min){t2=i;min=a[t2];}
    	}
    	t=a[0];
    	a[0]=a[t2]; //只更换最大最小值正确,而两者合并执行则错误。
    	a[t2]=t;
    	for(i=0;i<n;i++)
        {if(a[i]>=max){t1=i; max=a[t1];}} 
        //以上for做的是初始化,问题出在最大最小值的i及位置在转换后发生了变动,所以需要重新找到max的i; 
    	t=a[n-1];  a[n-1]=a[t1];  a[t1]=t;
    	for(i=0;i<n;i++)
        {printf("%d ",a[i]);}
    	return 0;}
    
    

    在这里插入图片描述

    展开全文
  • 7-3 交换最小值和最大值

    千次阅读 2021-01-13 01:05:19
    7-3 交换最小值和最大值 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: 输入在第一...

    7-3 交换最小值和最大值
    本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

    注意:题目保证最大和最小值都是唯一的。

    输入格式:
    输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。

    输出格式:
    在一行中顺序输出交换后的序列,每个整数后跟一个空格。

    输入样例:

    5
    8 2 5 1 4
    

    输出样例:

    1 2 5 4 8 
    
    #include <stdio.h>
    
    int main()
    {
    	int n,i,min,max,mi,ma,a[10];
    	scanf("%d",&n);
    	for(i=0;i<n;i++){
    		scanf("%d",&a[i]);
    	} 
    	min=a[0];
    	max=a[0];//常规操作,把数组的第一个元素设成最大值和最小值
    	for(i=0;i<n;i++){//找出最大和最小值
    		if(a[i]>max){
    			max=a[i];
    		}
    		if(a[i]<min){
    			min=a[i];
    		}
    	}
    	int temp;//temp作为交换的桥梁
    	for(i=0;i<n;i++){
    		if(a[i]==max){
    			temp=a[n-1];
    			a[n-1]=max;
    			a[i]=temp;
    		}//交换最大值
    	}
    	for(i=0;i<n;i++){
    		if(min==a[i]){
    			temp=a[0];
    			a[0]=min;
    			a[i]=temp;
    		}//交换最小值
    	}
    	for(i=0;i<n;i++){
    		printf("%d ",a[i]);
    	}
        return 0;
    }
    
    

    思路:先找出最大值和最小值,再利用数组分别与第一个和最后一个交换值。

    展开全文
  • 7-54 交换最小值和最大值 (15 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式...
  • C++PTA 交换最小值和最大值 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: 输入在...
  • PTA:7-24 交换最小值和最大值

    千次阅读 2019-11-21 18:38:43
    7-24 交换最小值和最大值 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: 输入在第...
  • 交换最小值和最大值 (15 分)

    千次阅读 2019-02-23 15:28:45
    交换最小值和最大值 (15 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: ...
  • 7-13 交换最小值和最大值 (10 分) #include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstring> using namespace std; typedef long long ll;...
  • 实验7-1-10交换最小值和最大值(15分) 题目要求: 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一...
  • pta 7-4 交换最小值和最大值 (15 分)

    万次阅读 2019-11-01 10:08:14
    pta7-4 交换最小值和最大值 (15 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式:...
  • 7-2 交换最小值和最大值 (15分)

    千次阅读 2020-10-25 13:18:46
    7-2 交换最小值和最大值 (15分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: ...
  • 7-3 交换最小值和最大值 (15分)

    千次阅读 2020-05-26 13:48:29
    7-3 交换最小值和最大值 (15分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: ...
  • 7-1 交换最小值和最大值 (15分)

    千次阅读 2020-06-11 10:46:58
    7-1 交换最小值和最大值 (15分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: ...
  • 交换最小值和最大值题目答案测试点总结 题目 答案 #include<stdio.h> int main() { int i,j; int n,t; scanf("%d",&n); int a[n]; for(i=0;i<n;i++) scanf("%d",&a[i]); int min=a[0],...
  • 7-5 交换最小值和最大值(15 分)

    万次阅读 2017-12-29 11:08:59
    7-5 交换最小值和最大值(15 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 ...
  • 实验7-1-10 交换最小值和最大值 (15 分)

    千次阅读 多人点赞 2018-12-02 17:19:31
    实验7-1-10 交换最小值和最大值 (15 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入...
  • 7-9 交换最小值和最大值 (10 分)

    千次阅读 2018-12-18 09:12:28
    7-9 交换最小值和最大值 (10 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: ...
  • 实验7-1-10 交换最小值和最大值 (15 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 ...
  • 实验7-1-10 交换最小值和最大值 (15分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入...
  • 7-4 交换最小值和最大值 (15分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入格式: ...
  • 实验7-1-10 交换最小值和最大值(15 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入...
  • 【PTA】交换最小值和最大值

    千次阅读 2019-11-05 21:58:45
    本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大和最小值都是唯一的。 输入格式: 输入在第一行中给出一个正整数N(≤...
  • c 语言 交换最小值和最大值

    千次阅读 2020-03-27 22:16:03
    本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大和最小值都是唯一的。 输入格式: 输入在第一行中给出一个正整数N(≤...
  • 实验7-1-10 交换最小值和最大值 (15分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大最小值都是唯一的。 输入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,455
精华内容 23,382
关键字:

交换最小值和最大值