用C语言编程实现输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组(用指针的方法)

如题所述

第1个回答  2011-05-30
#include<stdio.h>
void main()
{
int a[100], n, i;
int max, min, temp;
int *p, *pmax, *pmin;
printf("要输入几个数:");
scanf("%d", &n);
for(i=0; i<n; i++)
scanf("%d", a+i);
max=*a; min=*a; p=a;
for(i=0; i<n; i++)
if(*(p+i)>=max) {pmax=p+i; min=*(p+i);}
else if(*(p+i)<=min) {pmin=p+i; min=*(p+i);}
temp=*a, *a=*pmax; *pmax=temp;
temp=*(a+n-1); *(a+n-1)=*pmin; *pmin=temp;
for(i=0; i<n; i++)
printf("% d", *(a+i));

}
第2个回答  2011-05-30
//运行时,请随机输入10个数!
#include<stdio.h>
void main(){
int i,j,k,f[10],max,min,a,b;
for(i=0;i<10;i++)
scanf("%d",&f[i]);
a=b=0;
max=min=f[0];
for(j=1;j<10;j++)
{if(f[j]>max)
{max=f[j];
a=j;}
if(f[j]<min)
{min=f[j];
b=j;}
}
k=f[0];
f[0]=f[b];
f[b]=k;
if(f[9]!=max)
{k=f[9];
f[9]=f[a];
f[a]=k;}
for(k=0;k<10;k++)
printf("%d ",f[k]);}本回答被提问者采纳
第3个回答  2013-01-02
#include<stdio.h>
void main()
{
int a[100], n, i;
int max, min, temp;
int *p, *pmax, *pmin;
printf("要输入几个数:");
scanf("%d", &n);
for(i=0; i<n; i++)
scanf("%d", a+i);
max=*a; min=*a; p=a;
for(i=0; i<n; i++)
if(*(p+i)>=max) {pmax=p+i; min=*(p+i);}
else if(*(p+i)<=min) {pmin=p+i; min=*(p+i);}
temp=*a, *a=*pmax; *pmax=temp;
temp=*(a+n-1); *(a+n-1)=*pmin; *pmin=temp;
for(i=0; i<n; i++)
printf("% d", *(a+i));
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网