小弟刚刚自学C语言,下午编写的程序有问题,希望大家能帮我看看
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。#include"stdio.h"
main()
{
int a[10],*max,*min,*p,i,temp;
for(i=0;i<10;i++)
{
printf("a[%d]:",i);
scanf("%d",&a[i]);
}
printf("the original sort:");
for(i=0;i<10;i++)
{
printf("%5d",a[i]);
}
printf("\n");
max=min=a;
for(p=a+1;p<a+10;p++)
{
if(*p>*max)
max=p;
else if(*p<*min)
min=p;
}
printf("%d,%d\n",*max,*min);
temp=a[0];a[0]=*max;*max=temp;
temp=a[9];a[9]=*min;*min=temp;
printf("the sort array:");
for(i=0;i<10;i++)
{
printf("%5d",a[i]);
}
printf("\n");
}
当我按顺序输入0~9这10个数的时候输出的还是按顺序的0~9
费解 希望大家帮帮小弟!