编写函数int fun(int *a,int n),实现把数组a中最大数和最小数交换 完整题目如下

//请编写函数int fun(int *a,int n),函数的功能是把数组a中最大数和最小数交换。在主函数中输入10个整数、调用函数fun、输出结果。
#include<stdio.h>
#include <string.h>
#define N 10
int fun(int *a,int n)
{
int j;
int *temp;
int *max=a,*min=a;
for(j=0;j<10;j++)
{
if(*max<*(a+j))
*max=*(a+j);
else if(*min>*(a+j))
*min=*(a+j);
}
*temp=*max;
*max=*min;
*min=*temp;
return 0;
}
void main()
{
int i;
int a[20];
for(i=0;i<N;i++)
scanf("%d",*(a+i));
fun(a, N);
for(i=0;i<10;i++)
printf("%d,",*(a+i));
运行老是出错 有没有大佬帮忙修改一下的 最好有完整代码 谢谢!!

代码如下:

#include <stdio.h>
#include <stdlib.h>

#define N 10

int fun(int *a, int n)
{
int j, temp;
int *max = a, *min = a;

for (j = 0; j < 10; j++) {

if (*max < *(a + j))
max = (a + j);

if (*min > *(a + j))
min = (a + j);
}

temp = *max;
*max = *min;
*min = temp;

return 0;
}

int main()
{
int i;

int a[20];

for (i = 0; i < N; i++)
scanf("%d", (a + i));

fun(a, N);

for (i = 0; i < 10; i++)
printf("%d,", *(a + i));

system("pause");
return 0;
}

运行结果:

温馨提示:内容为网友见解,仅供参考
无其他回答

...*a,int n),实现把数组a中最大数和最小数交换 完整题目如下
代码如下:include <stdio.h>#include <stdlib.h>#define N 10int fun(int *a, int n){int j, temp;int *max = a, *min = a;for (j = 0; j < 10; j++) {if (*max < *(a + j))max = (a + j);if (*min > *(a + j))min = (a + j);}temp = *max;*max...

请编写函数int fun(int *a, int n),函数的功能是把数组a中最大数和...
int fun(int *a, int n) { int max = 0, min=0;for(int i=0:i<n;i++) { if(a[i]>a[max])max = i;if(a[i]<a[min])min = i;} int temp = a[max];a[max] = a[min];a[min] = temp;}

...fun,函数的功能是把数组中的最大数和最小数交换。在主函数中输入10...
include <stdio.h>#define SIZE 10void swap_max_and_min(int *a, int n) { int *minp = a, *maxp = a; int *end = a + n; while (a < end) { if (*a > *maxp) { maxp = a; } if (*a < *minp) { minp = a; } a++; }...

设计fun()函数,实现对数组inta[10]的最大数及最小数位置互换,马上交作 ...
void fun(int *a,int *b){ int temp;temp = *a;a = *b;b = temp;} int main(){ int a[10]={0};int i=0;int Max=0,Min=0;int *p,*q;for(i=0;i<10;i++)scanf("%d",&a[i]);Max= a[0];for(i=1;i<10;i++){ if(a[i]>Max){ Max = a[i];p=&a[i];...

编写函数fun(int *a,int n,int *odd,int *even),函数功能分别求出数组...
void fun ( int *a, int n, int *odd, int *even ){ int i; int tmp; *odd = *even = 0; for(i = 0;i< n;i++) { tmp = *(a+i); if( tmp % 2) *odd = *odd + tmp; else *even = *even + tmp; }} ...

fun(int *a,int n){int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<...
\/\/ 返回整形数数组a中的最小值。int fun(int *a,int n) { int i,j = 0,p;p = j;for(i = j;i < n;i++)if(a[i] < a[p]) p = i;return(p);}

编写函数fun(int a[ ], int n),该函数可求出数组中最大元素的值和在数 ...
fun(int a[],int n){ int i,max=a[0],index;for(i=0;i<n;i++){ if(a[i]>max){ max=a[i];index=i;} } cout<<"最大值是"<<max<<"位置是"<<index;}

c语言编写自定义函数,计算给定数组的最大值、最小值和平均值,并且返回...
include<stdio.h>void fun(int *a,int n){ int max,min,sum=0; int x,y; \/\/记录最大最小的下标 double aver; \/\/计算平均值 min=max=a[0]; for(int i=0;i<n;i++) { sum+=a[i]; if(a[i]>max) { max=a[i]; x=i; } if(a[i]<min...

编写函数int f(int x[],int n),求数组a中的最大数
int f(int a[],int n){ int i,max=a[0];for(i=1;i<n;i )if(max<a[i]) max=a[i];return max;} 然后可以这样调用:f(a,sizeof(a)\/sizeof(a[0]));

编写函数int fun(int *a,int n),它的功能是:把形参a所指数组中的偶数按...
if(a[i]%2!=0){ for(j=i; i<n-1; j++) \/\/改为for(j=i; j<n-1; j++) 应该是你粗心写错了 a[j]=a[j+1];i--;n--;}

相似回答