c语言结构体数组怎么交换?

我有一个结构体数组structcj{intNo;charName[20];intcj1;intcj2;intcj3;intpingjun;intNumber;};我申明了... 我有一个结构体数组
struct cj
{
int No;
char Name[20];
int cj1;
int cj2;
int cj3;
int pingjun;
int Number;
};
我申明了struct cj student[50];的数组;
比如我数组中有3个元素
学号1 名字qq 平均分33;
学号2 名字ww 平均分44;
学号3 名字cc 平均分38;
我想用冒泡排序法把这3个元素按平分高低来排,怎么才可以实现啊?急求
哪个朋友告诉一下~
展开
 我来答
xndcn
2008-01-14 · TA获得超过826个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:428万
展开全部
定义一个struct cj temp;
然后就直接交换啊。

我把那块做成函数,楼主直接调用吧,主函数就没写完整了。

#include <stdio.h>
struct cj
{
int No;
char Name[20];
int cj1;
int cj2;
int cj3;
int pingjun;
int Number;
};
int main(int argc, char *argv[])
{
struct cj student[50];
void sort(struct cj *student,int n);
sort(student,50);
return 0;
}

void sort(struct cj *student,int n)/*从大到小的*/
{
int flag;
int i,j;
struct cj temp;
for(i=0;i<n-1;i++)
{
flag=0;
for(j=0;j<n-i-1;j++)
if(student[j].pingjun<student[j+1].pingjun)
{
flag=1;
temp=student[j+1];
student[j+1]=student[j];
student[j]=temp;
}
if(flag==0)
break;
}
}
糖糖寳寳
2015-09-09 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3855万
展开全部
void swap(struct cj *a , struct cj *b)
{
struct cj temp ;
temp = *a ;
*a = *b ;
*b = temp ;
return ;
}
结构体就是个数据类型,只不过是用户自定义而已,直接赋值,就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狈让炮bpd96
2008-01-14 · TA获得超过4971个赞
知道大有可为答主
回答量:2451
采纳率:0%
帮助的人:2680万
展开全部
运行通过,你参考一下
#include<stdio.h>
struct cj
{
int No;
char Name[20];
int cj1;
int cj2;
int cj3;
int pingjun;
int Number;
};

void main(void)
{
int i=0,j=0;
cj student[3],temp;
int fenshu=0;
student[0].pingjun=33;
student[1].pingjun=44;
student[2].pingjun=38;

for(i=0;i<3;i++)
{
for(j=0;j<2-i;j++)
{
if(student[j].pingjun < student[j+1].pingjun)
{
temp=student[j];
student[j]=student[j+1];
student[j+1]=temp;
}
}
}

for(i=0;i<3;i++)
printf("%d \n",student[i].pingjun);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czj_1987
2008-01-14
知道答主
回答量:24
采纳率:0%
帮助的人:0
展开全部
判断的时候是判断平均分,交换的时候要全部交换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式