结构体数组的变量怎么交换? 25
我的目的是用航班号排序结构体数组,用的是冒泡法。以下这段代码没错,却运行不出结果。请大神看看问题在哪。感谢🙇。...
我的目的是用航班号排序结构体数组,用的是冒泡法。以下这段代码没错,却运行不出结果。请大神看看问题在哪。感谢🙇。
展开
2个回答
展开全部
#define N 5
struct student1
{
long num;
char name[10];
int sorce[2];
int total;
}student[N];
main()
{
int i, j;
struct student1 temp;
printf("请输入学生的基本信息");
printf("num\tname\tsorce1\tsorce2\n");
for (i = 0; i < N; i++)
{
scanf_s("%ld,%s,%d,%d", &student[i].num, student[i].name,10, &student[i].sorce[0], &student[i].sorce[1]);
student[i].total = student[i].sorce[1] + student[i].sorce[0];
}
for (i = 0; i<N - 1; i++)
for (j = 0; j<N - i - 1; j++)
if (student[j].total < student[j + 1].total)
{
temp = student[j];
student[j] = student[j + 1];
student[j + 1] = temp;
} for (i = 0; i < N; i++) printf("%ld\n%s\n%d\n%d\n%d", student[i].num, student[i].name, student[i].sorce[0], student[i].sorce[1], student[i].total); system("pause");
}
struct student1
{
long num;
char name[10];
int sorce[2];
int total;
}student[N];
main()
{
int i, j;
struct student1 temp;
printf("请输入学生的基本信息");
printf("num\tname\tsorce1\tsorce2\n");
for (i = 0; i < N; i++)
{
scanf_s("%ld,%s,%d,%d", &student[i].num, student[i].name,10, &student[i].sorce[0], &student[i].sorce[1]);
student[i].total = student[i].sorce[1] + student[i].sorce[0];
}
for (i = 0; i<N - 1; i++)
for (j = 0; j<N - i - 1; j++)
if (student[j].total < student[j + 1].total)
{
temp = student[j];
student[j] = student[j + 1];
student[j + 1] = temp;
} for (i = 0; i < N; i++) printf("%ld\n%s\n%d\n%d\n%d", student[i].num, student[i].name, student[i].sorce[0], student[i].sorce[1], student[i].total); system("pause");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |