| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1037 人关注过本帖
标题:结构体中的字符比较大小后怎么将他们相互复制的啊帮忙解答下啊!要指出方法 ...
只看楼主 加入收藏
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
结帖率:55.56%
收藏
已结贴  问题点数:20 回复次数:14 
结构体中的字符比较大小后怎么将他们相互复制的啊帮忙解答下啊!要指出方法的哦
struct stu{int xuehao;char mingzi[20];char sex[20];int age;int chengji;char xueyuan[20];};
stu s[3]={{0501,"李明","男",19,610,"信院"},{0502,"张莉","女",19,599,"信院"},{0503,"王涛","男",20,580,"控制"}};
void zuhe(stu s[])
{
    char t;
    for(int b=0;b<=2;b++)
        for(int c=b+1;c<=2;c++)
        {
          if(strcmp(s[b].sex,s[c].sex)<0)
          {
              strcpy(t,s[b]);
                  strcpy(s[b]=s[c]);
                  strcpy(s[c]=t);
          }
        }
}
搜索更多相关主题的帖子: mingzi 结构体 王涛 
2012-12-27 22:26
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
你想干什么?性别来比较,之后交换他们的性别?????
?????
而且,字符串拷贝用的一塌糊涂

下面是你要的交换性别的代码,我写的也很无语
 char t[128];
 strcpy(t,s[b].sex);
 strcpy(s[b]].sex, s[c].sex);
 strcpy(s[c]].sex,t);

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-28 00:41
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
收藏
得分:0 
回复 2楼 yuccn
我是让他们按照性别排序,然后将一个学生的信息输出,版主莫怪哈

2012-12-28 11:10
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 3楼 张海锋
你这样没有达到排序的效果的,只是把他们的性别交换了。呵呵
吧整个结构体数据交换才行

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-28 16:28
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
收藏
得分:0 
strcpy(t,s[b]);
                  strcpy(s[b]=s[c]);
                  strcpy(s[c]=t);
我这里不是整个复制了吗?

2012-12-28 16:47
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 

strcpy(s[c]=t);
strcpy(s[b]=s[c]); 这样编译不过的

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-28 17:17
huang1938120
Rank: 2
等 级:论坛游民
帖 子:51
专家分:41
注 册:2012-10-30
收藏
得分:0 
有点看不懂 但是看的很奇怪    楼主别见怪  俺也是鑫手
2012-12-28 17:30
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
收藏
得分:0 
回复 6楼 yuccn
那一般的格式是怎样的啊,辛苦啦

2012-12-28 22:51
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:9 
结构体交换,可以定义一个临时的结构体,
比如要交换 s[b] s[c],

memcpy(&temp, sizeof(stu), &s[b]);
memcpy(&s[b], sizeof(stu), &s[c]);
memcpy(&s[c], sizeof(stu), &temp);

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-28 22:57
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
收藏
得分:5 
学习c++一定要构思正确,学生操作的话。要嘛按学号排,要嘛按成绩大小,要嘛按名字字典序排。比较性别难道是同学校,同学号,同名,同成绩?要是这样的话,比较下他是男的还是女的就可以啦,不用把他两的性别比较。继续想大家学习,编程思想要对啊,不要让人说编程的思想不对。

同学习......同进步....你帮我......我帮你.....上善若水.....
2012-12-29 10:15
快速回复:结构体中的字符比较大小后怎么将他们相互复制的啊帮忙解答下啊!要指出 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018120 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved