解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student
{
int a;
int b;
struct student* next;
}Stu;
//头结点的创建
Stu* toujiedian()
{
Stu* head=(Stu*)malloc(sizeof(Stu));
head->a=0;
head->b=0;
head->next=NULL;
return head;
}
//链表的创建
Stu* lianbiao(Stu* head,int n)
{
Stu* lastnode=head;
for(int i=0;i<n;i++)
{
Stu* newnode=(Stu*)malloc(sizeof(Stu));
scanf("%d %d",&(newnode->a),&(newnode->b));
newnode->next=NULL;
lastnode->next=newnode;
lastnode=newnode;
}
return head;
}
void shuzu(Stu* head,int n)
{
int a[n+1][2];
int i=0;
Stu* temp=head->next;
while(temp!=NULL)
{
a[i][0]=temp->a;
a[i][1]=temp->b;
i++;
temp=temp->next;
}
for(i=0;i<n-1;i++)//冒泡排序,大家可以试试其他排序方法
{
for(int j=i;j<n;j++)
{
if(a[i][0]>a[j][0])
{
int t1;
int t2;
t1=a[i][0];
t2=a[i][1];
a[i][0]=a[j][0];
a[i][1]=a[j][1];
a[j][0]=t1;
a[j][1]=t2;
}
}
}
for(i=0;i<n;i++)
{
printf("%d %d\n",a[i][0],a[i][1]);
}
}
int main()
{
Stu* S=toujiedian();
int n,m;
scanf("%d%d",&n,&m);
S=lianbiao(S,n+m);
shuzu(S,m+n);
return 0;
}
0.0分
0 人评分
简单的a+b (C语言代码)浏览:827 |
C语言训练-自由落体问题 (C语言代码)浏览:1775 |
C语言训练-角谷猜想 (C语言代码)浏览:1768 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:941 |
简单的a+b (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1001 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:633 |
C语言训练-数字母 (C语言代码)浏览:670 |
WU-蓝桥杯算法提高VIP-勾股数 (C++代码)浏览:1685 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:609 |