用指针方式编写程序,从键盘输入10个整形整数,并存入数组,要求将10个数中最大的数与第1个输入的数交换;

2、用指针方式编写程序,从键盘输入10个整形整数,并存入数组,要求将10个数中最大的数与第1个输入的数交换;将10个数中最小的数与最后一个输入的数交换;

#include<stdio.h>

int main()

{int a[10],*p,*max,*min,t;

for(p=a;p<a+10;p++)

scanf("%d",p);

for(max=min=p=a;p<a+10;p++)

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

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

t=*a; *a=*max; *max=t;

t=*(a+9); *(a+9)=*min; *min=t;

for(p=a;p<a+10;p++)

printf("%d ",*p);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-02
#include <stdio.h>
int main(int argc, char *argv[])
{
int max,a[10],max_no;
for(int i=0;i<10;i++)
{
scanf("%d",a+i);
if(!i)
{
max=*a;max_no=0;
}
else
if(*(a+i)>max)
{
max=*(a+i);max_no=i;
}
}
int t=*a;
*a=*(a+max_no);
*(a+max_no)=t;
for(int i=0;i<10;i++)
printf(i!=9?"%d ":"%d\n",*(a+i));
return 0;
}

参考资料:pr

本回答被提问者采纳