| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 743 人关注过本帖
标题:求教
只看楼主 加入收藏
蓝调
Rank: 1
来 自:火星
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-12-19
收藏
 问题点数:0 回复次数:2 
求教
函数void sort(struct T items[],int low,int high)的功能是:对items结构数组中从下标low开始到high为止的所有数组元素按成员name以字典序排序,并输出排序后的结果。
含有错误的源程序如下:
#include <stdio.h>
#include <string.h>
struct T
{char name [20],num[20];
};
void sort(struct T items[],int low,int high)
{struct T temp;
 int k,j;
 for(k=low;k<high;k++)
  for(j=k;j<high-k-1;j++)               
   if(items[j].name>items[j+1].name)   
   {temp=items[j];items[j]=items[j+1];items[j+1]=temp;}
}
void main(void)
{struct T stu[4]={{"Wang","6723"},{"Cai","2106"},{"Zhang",   
                  "5129"},{"Chang","4512"},{"An","6868"}};
 int k;
 sort(stu,0,4);
 printf("The Sorted Array:\n");
 for(k=0;k<5;k++)
  printf("name:%s,num:%s\n",stu[k]->name,stu[k]->num); }
搜索更多相关主题的帖子: int low items struct high 
2008-04-25 13:23
蓝调
Rank: 1
来 自:火星
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-12-19
收藏
得分:0 

科学是领跑者的世界,而不是追随者!
2008-04-25 13:30
peswe
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2006-11-22
收藏
得分:0 
主要的错误:
1、字符串不能直接用">"或"<"来比较,而用strcmp()函数
2、main()函数中,结构体数组负值时超出了范围!~

C斗士~~~fighting!!!!
2008-04-25 14:39
快速回复:求教
数据加载中...
 
   



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

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