C语言刷题(26):输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数:①输入10个数②处理函数3.输出10个数

#include <stdio.h>
void main()
{
    void input(int *arr);
    void tackcle(int *arr);
    void print(int *arr);
    int a[10];
    printf("input 10 numbers:\n");
    input(a);
    tackcle(a);
    printf("tackcled:\n");
    print(a);
}
void input(int *arr)
{
    int i;
    for(i= 0;i<10;i++)
    {
        scanf("%d",arr+i);
    }
}
void tackcle(int *arr)
{
    int  i,max,min,t;
    min = max =0;
    for(i=1;i<10;i++)
    {
        if(*(arr+min) > *(arr+i))
        {
            min = i;
        }
        if(*(arr+max) < *(arr+i))
        {
            max = i;
        }
    }
    if(min!=0)
    {
        t = *arr;
        *arr = *(arr+min);
        *(arr+min) =t;
    }
    if(max!=0)
    {
        t  =  *(arr+9);
        *(arr+9) = *(arr+max);
        *(arr+max) = t;
    }
}
void print(int *arr)
{
    int i;
    for(i=0;i<10;i++)
    {
        printf("%d ",arr[i]);
    }
}


结果:
input 10 numbers:
9 8 7 6 5 4 3 2 1 0
tackcled:
0 8 7 6 5 4 3 2 1 9
发布了45 篇原创文章 · 获赞 7 · 访问量 1600

猜你喜欢

转载自blog.csdn.net/qq_38173631/article/details/104017323