/* 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。 写三个函数:①输入10个数;②进行处理;③输出10个数。 */ #include<stdio.h> #include <stdlib.h> int a[10]; void f721(int *a)//输入10个数 { for (int i=0;i<10;i++) { a[i]=rand()%100; printf("%d\t",a[i]); } } void f722(int *pmax,int *pmin,int *a,int *p1,int *p2)//进行处理 { for (int i=0;i<10;i++) { if (*pmin>a[i]) { *pmin=a[i]; *p1=i; } if (*pmax<a[i]) { *pmax=a[i]; *p2=i; } } //最小数和第一个数交换 a[0]=a[0]+a[*p1]; a[*p1]=a[0]-a[*p1]; a[0]=a[0]-a[*p1]; //最大数和最后一个数交换 a[9]=a[9]+a[*p2]; a[*p2]=a[9]-a[*p2]; a[9]=a[9]-a[*p2]; } void f723(int *a) { for (int i=0;i<10;i++)//输出新的数 { printf("%d\t",a[i]); } } void main() { f721(a); int *pmax=(int *)malloc(sizeof(int)),*pmin=(int *)malloc(sizeof(int)); *pmin=a[0]; *pmax=a[0]; int kmin=0,kmax=0;//记录最大数和最小数de下标 int *p1=&kmin,*p2=&kmax; f722(pmax,pmin,a,p1,p2); printf("kmin=%d,kmax=%d\n",kmin,kmax); f723(a); free(pmax); free(pmin); system("pause"); }
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行