数组存储方式

qq_32435639 2015-10-30 04:42:01
以数组存储方式,完成坐标节点X或Y排序。可用冒泡法或选择法。
要求:
1、新建Win32 Console Application工程,以zz命名;
2、坐标节点数据结构:struct Tpoint{int x;int y;}
3、功能要求:具有菜单功能,输入坐标节点数据,可按节点坐标X与Y排序,并可显示
...全文
372 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-12-31
  • 打赏
  • 举报
回复
仅供参考:
//学号 姓名 电话 成绩
//01 XXX 182XXXXXXXX 88
#include <stdio.h>
#include <string.h>
#define MAXS 10000
struct ST {
    int XH;
    char XM[11];
    char DH[13];
    int CJ;
} st[MAXS],t;
int n,i,j;
char ln[80];
FILE *f;
int main() {
    f=fopen("in.txt","r");
    if (NULL==f) {
        printf("Can not open file in.txt!\n");
        return 1;
    }
    i=0;
    while (1) {
        if (NULL==fgets(ln,80,f)) break;
        if (4!=sscanf(ln,"%d%10s%12s%d",&st[i].XH,st[i].XM,st[i].DH,&st[i].CJ)) {
            st[i].XH=0;
            strcpy(st[i].XM,"Unknown");
            strcpy(st[i].DH,"Unknown");
            st[i].CJ=0;
            printf("line %d format error:%s!\n",i+1,ln);
        }
        i++;
        if (i>=MAXS) {
            printf(">%d lines Ignored.\n",MAXS);
            break;
        }
    }
    fclose(f);
    n=i;
    for (i=0;i<n-1;i++) {
        for (j=i+1;j<n;j++) {
            if (st[i].CJ<st[j].CJ) {t=st[i];st[i]=st[j];st[j]=t}
        }
    }
    for (i=0;i<n;i++) {
        printf("%5d%10s%12s%4d\n",st[i].XH,st[i].XM,st[i].DH,st[i].CJ);
    }
    return 0;
}
大大大白 2015-12-31
  • 打赏
  • 举报
回复
排序算法不要太多,插入,快速,冒泡
ruying1389279 2015-12-30
  • 打赏
  • 举报
回复
简单的排序,就用冒泡好了
ruying1389279 2015-11-07
  • 打赏
  • 举报
回复
这就是排序吗?不会写排序吗?
qq_32435639 2015-10-30
  • 打赏
  • 举报
回复
求大神迅速解,急用

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧