C语言编程:输入十个整数,将其中最小的数和第一个数对换位置,最大的数和最后一个对换.(要求用指针处理)

作者:佚名    更新日期:2025-06-18
全程用指针处理的程序:
main()
{int a[10],i,t;
int*p,*q;
printf("请在下面输入10个数字:\n");
for(i=0;i<10;i++)scanf("%d",p+i);
p=q=a;
for(i=1;i<10;i++)
{if(*(a+i)<*p)p=a+i;
else if(*(a+i)>*q)q=a+i;}
if(p!=a)
{t=*a;
*a=*p;
*p=t;}
if(q!=*(a+9))
{t=*(a+9);
*(a+9)=*q;
*q=t;}
printf("调换过的数组是:\n");
for(i=0;i<10;i++)
printf("%d ",*(a+i));
printf("\n");}
有什么问题请留言。

c语言编程题:输入n个整数,将最小数与第一个数对换,把最大数与最后一个数对换。~

#include
int main()
{
int a[10];
int i,max,min;
for(i = 0; i < 10; i ++)
scanf("%d",a+i);
max=min=0;
for(i = 1; i < 10; i ++)
{
if(a[max]<a[i]) max=i;
if(a[min]>a[i]) min =i;
}
i = a[max];
a[max]=a[9];
a[9]=i;

i = a[min];
a[min]=a[0];
a[0]=i;

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

#include#define N 10void ia(int *a,int n) { int i; for ( i=0;ia[i] ) n=i; m0=a[n-1]; n0=a[0]; a[n-1]=a[m]; a[0]=a[n]; a[m]=m0; a[n]=n0;}void oa(int *a,int n) { int i; for ( i=0;i<n;i++ ) printf("%d ",a[i]); printf("
"); }void main() { int a[N]; ia(a,N); pa(a,N); oa(a,N);}