C语言结构体数组怎么交换数据呀?!

voidjiaohuan(charx,chary);intmain(){structjigouti{charname[20];intnum;floata1,a2,a3;}... void jiaohuan(char x, char y);int main()
{
struct jigouti
{
char name[20];
int num;
float a1, a2, a3;
}shuzu[5];
int i, n, j; for (i = 0; i < 5; i++)
{
scanf("%s %d %f", &shuzu[i].name, &shuzu[i].num, &shuzu[i].a1);
} 怎样将shuzu[0]和shuzu[1]中的所有数据都交换呢?!(用最上面定义的那个函数实现。)
展开
 我来答
匿名用户
2013-04-13
展开全部
void jiaohuan(jigouti &a,jigouti &b){ jigouti gay; strcpy(gay.name,a.name); gay.num=a.num; gay.a1=a.a1;////////////////////////把a的的数据放到中间体里 strcpy(a.name,b.name); a.num=b.num; a.a1=b.a1;//////////////////////把b的数据放到a里strcpy(b.name,gay.name);b.num=gay.num;b.a1=gay.a1;////////////////////把a的数据再到b里。。}把结构体放在mian函数外面。。=。=。大仙给分。。。。。。。。
靓番茄
2013-04-12 · TA获得超过2707个赞
知道小有建树答主
回答量:665
采纳率:100%
帮助的人:653万
展开全部
#include<stdio.h>
#include<string.h>
struct jiegouti
{
char name[20];
int num;
float a1;
}shuzu[5];
void jiaohuan(struct jiegouti shuzu[])
{
char x[20];
int y;
float z;
strcpy(x,shuzu[0].name);
y=shuzu[0].num;
z=shuzu[0].a1;
strcpy(shuzu[0].name,shuzu[1].name);
shuzu[0].num=shuzu[1].num;
shuzu[0].a1=shuzu[1].a1;
strcpy(shuzu[1].name,x);
shuzu[1].num=y;
shuzu[1].a1=z;
}
void display(int n,struct jiegouti shuzu[])
{
int i;
for(i=0;i<n;i++)
{
printf("%s ",shuzu[i].name);
printf("%d ",shuzu[i].num);
printf("%f\n",shuzu[i].a1);

}
}
int main()
{
int i,n=5;
struct jiegouti shuzu[5];
for (i=0;i<n;i++)
{
scanf("%s",shuzu[i].name);
scanf("%d",&shuzu[i].num);
scanf("%f",&shuzu[i].a1);
}
jiaohuan(shuzu);
display(n,shuzu);
return 0;
}
你定义的有错,我已改正,可以直接运行,vc++6.0验证
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-13
展开全部
结构体如果都要集体交换的话,建议使用 memcpy(); 这个函数,新建个中间结构体.. 就可以了, 这个函数有3个参数,具体请百度
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-13
展开全部
void jiaohuan(struct jigouti *x, struct jigouti *y){ struct jigouti temp; memcpy(&temp, x, sizeof(jigouti)); memcpy(x, y, sizeof(jigouti)); memcpy(y, &temp, sizeof(jigouti));}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式