C语言编程题不会做啊

题目描述有一个长度为n的整数序列。请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换。输出转换好的序列。
输入
输入包括两行。 第一行为正整数n(1≤n≤10)。 第二行为n个正整数组成的序列。
输出
输出转换好的序列。数据之间用空格隔开。样例输入5
2 1 5 4 3
样例输出1 2 3 4 5

#include <stdio.h>
#include <malloc.h>
void main()
{
int n,a,b,bTemp;
int *p;
printf("how many numbers?\n");
scanf("%d",&n);
p=malloc(sizeof(int)*n);

printf("please input the numbers.\n");
for(a=0;a<n;a++)
{
scanf("%d",(p+a));
}
for(b=0;b<n-1;b++)
{
for(a=0;a<n-1-b;a++)
{
if(*(p+a)>*(p+a+1))
{
//互换
bTemp = *(p+a);
*(p+a) = *(p+a+1);
*(p+a+1) = bTemp;
}
}
}
for(a=0;a<n;a++)
{
printf("%d ",*(p+a));
}
printf("\n");
free(p);
}
vc6.0下调试通过。追问

老师不行啊,过不了
再帮忙改下

追答

你用的的什么编译器,我在VC6.0下是编译通过的。

你把代码复制到一个空的.c的文件中,然后用VC6.0打开并编译,应该是可以通过的。

追问

l老师你远程我吧,还是不行
Q787209826
哎!!!

追答

我把工程发你的qq邮箱吧。请注意查收。

温馨提示:答案为网友推荐,仅供参考
相似回答