请各位前辈看看指导,本人初学。
题:请输入10个整数,要求最大的和最后一个数换,最小的和第一个数换。#include <stdio.h>
void main()
{
void s_port(int *q,int n);
int a[10],i,*p=a;
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",p++);
s_port(p,10);
printf("输出的整数为:\n");
p=a;
for(i=0;i<10;i++)
printf("%d",p++);
printf("\n");
}
void s_port(int *q,int n)
{
int i,k,d,tem,max=min=*q;
for(i=0;i<n;i++)
if(max<*(q+i)) {max=*(q+i);k=j;}
if(min>*(q+i)) {min=*(q+i);d=j;}
tem=*(q+k);*(q+k)=*(q+n-1);*(q+n-1)=tem;
tem=*(q+d);*(q+d)=*q;*q=tem;
}
运行结果是第一个数变成了0,其余愿样输出。
[ 本帖最后由 梦幻尘 于 2012-8-26 12:37 编辑 ]