输出的结果没有变化
#include<stdio.h>
void sort(int *p, int n);
int main()
{
int a[5];
int *p = a;
for (int i = 0; i < 5; i++)
{
scanf("%d", &a[i]);
}
sort(a, 5);
for (int i = 0; i < 5; i++)
{
printf("%d ", a[i]);
}
}
/* 请在这里填写答案 */
void sort(int *p, int n) {
int i, j, t;
for (j = 1; j < 5; j++) {
for (i = 0; i < 5 - i; i++) {
if (p[i] > p[i + 1]);
t = p[i];
p[i] = p[i + 1];
p[i + 1] = t;
}
}
}
#include<stdio.h>
void sort(int *p, int n);
int main()
{
int a[5];
int *p = a;
for (int i = 0; i < 5; i++)
{
scanf("%d", &a[i]);
}
sort(a, 5);
for (int i = 0; i < 5; i++)
{
printf("%d ", a[i]);
}
}
void sort(int *p, int n) {
int i, j, t;
for (j = 0; j < 4; j++) {
for (i = j+1; i < 5; i++) {
if (p[i] > p[j]){
t = p[i];
p[i] = p[j];
p[j] = t;
}
}
}
}
首先你sort里if后面的分号 和{}我不知道是复制错了还是什么原因
if判断为真后如果要做不止一个语句的操作要用{}包起来
给你改了一下 for循环里也有点问题