当前位置: 代码迷 >> C语言 >> [求助]指针问题
  详细解决方案

[求助]指针问题

热度:200   发布时间:2005-09-27 12:30:00.0
[求助]指针问题

程序如下:(xt10-3.c)

#include <stdio.h>

main()

{ int number[10];

input(number);

max_min_value(number);

output(number);

}

input(int number[10])

{ int i;

printf("Input 10 numbers: ");

for(i=0;i<10;i++)

scanf("%d",&number[i]);

}

max_min_value(int array[10])

{ int *max,*min,*p,*array_end;

array_end=array+10;

max=min=array;

for(p=array+1;p<array_end;p++)

if(*p>*max) max=p;

else if(*p<*min) min=p;

*p=array[0]; array[0]=*min; *min=*p;

*p=array[9];array[9]=*max;*max=*p;

return;

}

output(int array[10])

{ int *p;

printf("Now, they are: ");

for(p=array;p<=array+9;p++)

printf("%d ",*p);

}

10.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。 这个答案有问题 怎么改才正确呢?
搜索更多相关的解决方案: 指针  

----------------解决方案--------------------------------------------------------

#include <stdio.h>

void max_min_value(int array[10]) { int max,min,*p,*array_end; int* pMaxTemp = NULL,*pMinTemp = NULL; array_end = array + 10; max = min = *array; for(p = array;p < array_end;p++) { if(*p > max) { max = *p; } else if(*p < min) { min = *p; } } pMaxTemp = array; array[0] = min; min = *pMaxTemp; pMinTemp = array + 9; array[9] = max; max = *pMinTemp; return; }

void input(int number[10]) { int i; printf("Input 10 numbers: "); for(i=0;i<10;i++) { scanf("%d",&number[i]); } }

void output(int array[10]) { int *p; printf("Now, they are: "); for(p=array;p<=array+9;p++) { printf("%d ",*p); } }

void main() { int number[10]; input(number); max_min_value(number); output(number); }


----------------解决方案--------------------------------------------------------
  相关解决方案