0x15:函数之痛
任务要求:完善以下程序,实现输入10个数到数组a中并找出该数组中值最小的数组元素,实现该数组元素的值和a[0]中的数对调
void inputArray( int a[], int ); //输入数到数组
void outputArray( int a[],int ); //显示数组内容
int findMinElem( int a[], int ); //查找值最小的数组元素,返回对应的下标
void ExchangeElem(int a[], int, int);//最小数组元素与a[0]对调
int main( )
1
#include <stdio.h> void inputArray(int a[],int n){ int i; for(i=0;i<10;i++) { printf("Input value:\n"); scanf("%d",&a[i]); } } void outputArray(int a[],int n){ int i=0; for(i=0;i<10;i++) { printf("%d\n",a[i]); } } int findMinElem(int a[],int n){ int min=a[0],i=1,m=0; for(i=1;i<9;i++) { if(a[i]<min) { min=a[i]; m=i; } } //printf("m=%d",m); return m; } int ExchangeElem(int a[],int n,int k) { int m, t=0; m=findMinElem(a,0);//用m来接受findMinElem的返回值 // printf("Min=%d\n", m); t=a[0];//将a[0]的值赋值给n a[0]=a[m]; //与a[0]对调第一步:先将a[m]的值赋值给a[0] a[m]=t;//第二步:将a[m]的值变成a[0] 完成对调 outputArray(a,10); } int main() { int a[10],aver,n; inputArray(a,10);//输入数到数组 ExchangeElem(a,10,10); // outputArray(a,10);//输出输入的结果 } //代码的函数调用部分其实不是很好,比如很多形参都并没用,但是已经可以完成任务的要求。