《C语言第三版课后习题》12课后习题10.3输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。使用指针#include <stdio.h>int main() { void change(int *x); int a[10],i,j; for(i=0; i<10; i++) scanf("%d",&a[i]); change(a); for(i=0; i<10; i++) printf("%d ",a[i]);}void change(int *a) { int *min,*max,*p,t; max=min=a; for(p=a+1; p<a+10; p++) if(*p>*max) max=p; t=a[9]; a[9]=*max; *max=t;// 最大值与第一个数交换 for(p=a+1; p<a+10; p++) if(*p<*min) min=p; t=a[0]; a[0]=*min; *min=t;// 最小值与第一个数交换}课后习题10.4有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。写一函数move:实现以上功能,在主函数中输入n个数和输出调整后的n个数。#include<stdio.h>void move(int *a,int n,int m){ int t[100]; int i; for(i=0;i<n;i++) { t[i]=a[i]; } for(i=0;i<m;i++) { a[i]=t[n-m+i]; } for(i=m;i<n;i++) { a[i]=t[i-m]; }}int main(){ int a[20]; int n,m; int i; scanf("%d",&n); for (i=0;i<n;i++) { scanf("%d",&a[i]); } scanf("%d",&m); move(a,n,m); for(i=0;i<n;i++) { printf("%d ",a[i]); } return 0;}