1246 - C语言10.16

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。

题目输入

用空格隔开的10个整数。

题目输出

输出进行题目描述操作之后的10个整数,每个整数之后输出一个空格。

请注意行尾输出换行。

输入/输出样例

输入格式

1 5 2 4 9 0 3 8 7 6

输出格式

0 5 2 4 6 1 3 8 7 9 

C语言解答

#include<stdio.h>
int main() 
{ 
	int a[11],i,temp,min,max,j,k; 
	for(i=0;i<10;i++) 
		scanf("%d",&a[i]); 
	min=a[0];
	max=a[0];
	for(i=1;i<10;i++)
	{
		if(min>a[i])
			min=a[i],j=i;
		if(max<a[i])
			max=a[i],k=i;
	}
	temp=a[0];
	a[0]=min;
	a[j]=temp;

	temp=a[9];
	a[9]=max;
	a[k]=temp;

	for(i=0;i<10;i++)
		printf("%d ",a[i]);

	
	printf("\n");
}

C++解答

#include <stdio.h>
int main() {
	int a[10];
	int i, t;
	int *min_pos, *max_pos;
	for (i = 0;i < 10;i++)
		scanf("%d", &a[i]);
	min_pos = a;
	for (i = 1;i < 10;i++)
		if (a[i] < *min_pos)
			min_pos = a + i;
	max_pos = a;
	for (i = 1;i < 10;i++)
		if (a[i] > *max_pos)
			max_pos = a + i;
	t = a[0]; a[0] = *min_pos; *min_pos = t;
	t = a[9]; a[9] = *max_pos; *max_pos = t;
	for (i = 0;i < 10;i++)
		printf("%d ", a[i]);
	printf("\n");
	return 0;
}

Java解答



import java.util.Scanner;

public class Main{
   private static Scanner s = new Scanner(System.in) ;
   
   public static void main(String[] args) {
	  int a[] = new int[10] ;
	  for (int i = 0; i < 10; i++) {
		a[i] = s.nextInt() ;
	  }
	  
	  int temp = 0 ;
	  int k = 0 ;
	  int m = 0 ;
	  for (int i = 0; i < a.length; i++) {
		 if(a[i]>temp){
			 temp = a[i] ;
			 k = i ;
		 }
	  }
	  
	  for (int i = 0; i < a.length; i++) {
		  if(a[i]<temp){
				 temp = a[i] ;
				 m = i ;
			 }
	}
	  
	  temp = a[0] ;
	  a[0] = a[m] ;
	  a[m] = temp ;
	  
	  temp = a[a.length-1] ;
	  a[a.length-1] = a[k] ;
	  a[k] = temp ;
	  
	  for (int i = 0; i < a.length; i++) {
		System.out.print(a[i]+" ");
	  } 
	  
	  System.out.println() ;
   }
}

Python解答

import sys
def a():
    return [int(i) for i in raw_input().split()]
def b(z):
    p = z.index(min(z))
    z[0], z[p] = z[p], z[0]
    p = z.index(max(z))
    z[len(z) - 1], z[p] = z[p], z[len(z) - 1]
    return z
def c(z):
    for i in z:
        sys.stdout.write(str(i)+" ")
    print
c(b(a()))