输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换

输入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 

/* 
* Copyright (c) 2016, 安徽大学计算机科学与技术学院 
* All rights reserved. 
* 作 者:  杨磊 
* 完成日期:2016 年 12 月 29 日 
* 问题描述: 
* 输入10个整数,将其中最小的数和第一个数对换,把最大的数和最后一个数对换。 
* 写三个函数:①输入十个数;②进行处理;③输出十个数。 
*/  
#include <stdio.h>  
int  main()  
{  
    void input(int *);  
    void output(int *);  
    void process(int *);  
    int num[10];  
    input(num);  
    process(num);  
    output(num);  
  
}  
  
void input(int *num)  
{  
    int i;  
    printf("input ten integer:\n");  
    for (i=0;i<10;++i)  
    {  
        scanf("%d",&num[i]);  
    }  
}  
  
void process(int *num)  
{  
    int i,*min,*max,temp;  
    min=max=&num[0];  
  
    for (i=0;i<10;++i)  
    {  
        if (*min>num[i])  
            min = &num[i];  
        if(*max<num[i])  
            max= &num[i];  
    }  
    temp= num[0];num[0]=*min;*min= temp;  
    temp= num[9];num[9]=*max;*max= temp;  
}  
  
void output(int *num)  
{  
    int i;  
    printf("After Proceeding,these numbers are\n");  
    for (i=0;i<10;++i)  
    {     if(i==9)  
        printf("%d\n",num[i]);  
          else  
        printf("%d ",num[i]);  
    }  
} 

猜你喜欢

转载自blog.csdn.net/qq_41129306/article/details/94653801