#include
#include
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main()
{ int a[10],i, p, *q, *n;
printf("请输入十个数\n");
for (i = 0; i < 10; i++)
scanf_s("%d", a[i]);
for (i = 0; i < 10; i++)
{
p =&a[0];
if ((p+1) <= *p)
*n = *(p+1); *(p+1) = *p; *p = *n;
}
for (i = 0; i < 10; i++)
{
q =&a[9];
if (*q <= *(q+1))
*n = *(q+1); *(q+1) = *q; *q = *n;
}
for (i = 0; i < 10; i++)
printf("%d\n", a[i]);
}
只想问,这写的什么鬼。
for (i = 0; i < 10; i++)
{
p =&a[0];
if ((p+1) <= p)
*n = *(p+1); *(p+1) = *p; *p = *n;
}
->
int max = 0;
for (i = 0; i < 10; i++)
{
p =&a[0];
if ((p + i) > *(p + max)) max = i;
}
*n = *(&a[0] + max); *(&a[0] + max) = a[0]; a[0] = n;
另一个类似
楼主,没发现你写的循环体每次循环里面的值都不变吗?