word

word文档可自由复制编辑

课程设计报告

课程名称:数据结构

课题:电视大赛观众投票及排名系统(排序应用)

专业班级:计算机系网工12102班

学 号:201217030219

姓 名:黄婷

指导老师:周慧灿

期:2013 年1月2日

教师评语:

成绩评定:

指导教师(签名):

TOC \o "1-5" \h \z 课题简介3

设计方案 4

\o "Current Document" 具体设计 4

3.1 程序原理 4

3.2关键代码段源码及分析 5

测试 10

4.1测试过程中遇到的问题记录 13

4.2测试结果 13

总结 15

设计体会 15

参考文献 15

课题简介

在本例中,首先输入参赛选手的人数(范围为1-9个),然后根据人数通过 malloc函数

来开辟存放选手信息的顺序表。将选手的编号和姓名依此存入顺序表单兀中,观众通过按键

进行投票,按’1为1号选手投票,按’2为2号选手投票,以此类推,以按 ’0乍为投票结束 标志。投票结束后进行排序,在此采用希尔排序,然后为每个选手计算名次,得票相同的名

次也相同,

在很多的电视大赛中, 通常当选手表演结束后, 现场观众通过手中的按键对参赛选手进 行投票,然后对选手获得的票数进行统计,从高到低进行降序排序,从而自动产生冠军、亚 军和季军。现在要求编写一程序模拟实现上述系统的功能

设计方案

总体思路:利用学到的C语言编程知识和编程技巧,完成一个小型管理信 息系统的开发,帮助学生熟悉开发一个系统的整个过程: 系统分析、程序的 设计、编写与调试等过程。

课程设计内容:.

输入的形式和输入值的范围:

由于本程序主要运用于观众投票以及选手信息的输入,所以输入的形式是数字及 字符,范围不限;

输出的形式:根据观众投票情况输出排名情况

程序实现的功能:实现观众投票以及选手得分情况的排名4.测试数据:

输入选手的个数以及每个选手的信息输入“ 4” “ a s d f”

根据菜单输入选号“ 2”输出“ 1号a得分是0,排名是0; 2号s得分是0, 排名是0; 3号d得分是0,排名是0; 4号f得分是0,排名是0;”

给选手投票,输入“ 12 3 3 3 3 4 3 2 210”。

根据菜单输入选号“ 4” ,输出“第1名是3号选手d;第2名是2号选手 s;第3名是1号选手a;第4名是4号选手f ” “冠军是3号选手d;亚军是2号 选手s;季军是1号选手a”

具体设计

原理:为了实现上述程序功能,需要定义顺序表的抽象数据类型如下

ADT list {、

数据对象:D={ai|ai €

Elem Set,i=0,1,2,, ,n,n > 0}

数据关系:R={|ai,ai+1€ D}

基本操作:Ini tlist_Sq(&L)

操作结果:构造一个空的顺序表

L.ListI nsert_Sq(&L,i,e)

初始条件:顺序表

L已存在

操作结果:将元素

e插入到顺序表L的第i位

ListDelete_Sq(&L,i , &e)

初始条件:顺序表L已存在 操作结果:将顺序表L中i位置的元素删除,元素

值置入e中返回locate_Sq (L,e)

初始条件:顺序表L依存在

操作结果:顺序表L中查找元素e并返回其位置

2、本程序分为四个模块

a、 主程序模块:实现对函数的调用;

b、 顺序表模块:实现选手信息存储;

c、投票模块

实现观众对选手的投票;

d、排序模块:

实现对选手的成绩的排序;

4 ?源代码

#i nclude

#in clude

#in clude

#in clude

#defi ne N9//假设选手人数不超过9

typedef struct node

{

int num;// 编号

char name[20];// 姓名

int sum;// 票数

}

in fo[N+1];

in fo*p;

int numbers;//总共的选手人数

FILE*fp;

void tianjia()

{

int i=1, n;

char a[10],b[10];

p=(i nfo*)malloc(sizeof( in fo));

if((fp=fope n("xua nshou.txt","r"))!=NULL)

{

fscan f(fp,"%d%s\n",&p[i]-> num,p[i]-> name); i++;

fclose(fp);

printf("读取文件记录成功!\n");

}

else

{

printf("不存在记录文件,请输入选手的数量:\n");

sca nf("%d",&n) ;g

投票和排名系统C语言顺序表,电视大赛观众投票及排名系统C语言设计.docx相关推荐

  1. c语言顺序表有效元素长度,用C语言描述的顺序表类型

    2.2.1 顺序表 用C语言描述的顺序表类型如下所示: // 存储结构 const int MAXLISTSIZE=80; // 预设的存储空间最大容量 typedef struct { ElemTy ...

  2. 考试报名管理系统C语言顺序表,学生信息管理系统(顺序表)实验

    <学生信息管理系统(顺序表)实验>由会员分享,可在线阅读,更多相关<学生信息管理系统(顺序表)实验(29页珍藏版)>请在人人文库网上搜索. 1.精品文档数 据 结 构 课 程 ...

  3. c语言顺序表所需的头文件,数据结构【顺序表】

    1.线性表定义 线性表是一种线性结构.线性结构的特点是数据元素之间是一种线性关系,数据元素"一个接一个的排列".在一个线性表中数据元素的类型是相同的,或者说线性表是由同一类型的数据 ...

  4. c语言顺序表有效元素长度,C语言版数据结构顺序表的问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 52.Status ListInsert_Sq(SqList *L, int i, ElemType e) 53.{ 54.     ElemType * ...

  5. c语言顺序表的例子,本文实例讲述了C语言实现的顺序表功能。分享给大家供大家参考,具体如下:seqlist.h#ifndef __SEQLIST_H__#define __...

    本文实例讲述了C语言实现的顺序表功能.分享给大家供大家参考,具体如下: seqlist.h #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #include # ...

  6. c语言三元组作用,三元组顺序表,稀疏矩阵的三元组表示及(C语言)实现

    本节介绍稀疏矩阵的三元组顺序表压缩存储方式. 通过<矩阵的压缩存储>一节我们知道,稀疏矩阵的压缩存储,至少需要存储以下信息: 矩阵中各非 0 元素的值,以及所在矩阵中的行标和列标: 矩阵的 ...

  7. C语言顺序表的定义以及各类操作

    #include <stdio.h> #include <string.h> #include <stdlib.h>#define maxsize 1024 typ ...

  8. C语言顺序表,合并并排序(代码注释讲解)

    /*.已知有两个按元素值递增有序的顺序表A和B,设计一个算法将表A和表B的全部元素归并为一个按元素值非递减有序的顺序表C. 要求: 从键盘输入顺序表A和B的各元素,编程实现上述算法,输出顺序表A.顺序 ...

  9. 顺序表的基本操作(增删改查)——C语言

    一.定义 1.存储空间一定连续 2.可以进行随机访问 二.代码 1.定义结构体 typedef struct {datatype *element;int length; }sqList, *LPsq ...

  10. C语言顺序表:1、顺序表的存储、2、顺序表的实现.

    [1]顺序表的存储:一对一的关系,如下图所示:找到张三就可以顺序查找找到李四 [2]顺序表的实现: 首先我们来创建两个.c文件和一个.h文件,比如:seqlist.c .main.c.seqlist. ...

最新文章

  1. [转]ghost手动备份及遇见的问题
  2. python32bit改64bit,从32位Python更改64位注册表
  3. 使用 Flex 布局与其他普通布局的简单对比
  4. C# 调用Java接口
  5. 检测到目标服务器启用了trace方法_综述:目标检测中的多尺度检测方法
  6. 四种解法——求子序列的最大连续子序和(普通解法、求和解法、分治法、O(n)级解法)(面试经典题)
  7. c语言解三元一次方程组_七年级下学期《8.3 一元一次不等式组》2020年高频易错题集...
  8. 状态机-面向对象编程
  9. 调试 acf 的时候发现问题
  10. C#实现重新启动计算机
  11. 拉里·佩奇 密歇根大学演讲
  12. Android 游戏开发入门 视频+源码
  13. Python Socket模块实现服务端与客户端通信
  14. error LNK2005: public: virtual __thiscall CMemDC::~CMemDC(void) (??1CMemDC@@UAE@XZ) already de
  15. 冰点还原忘记密码怎样删除?
  16. ssh与ftp连接免费使用
  17. gulp+webpack工具整合简介
  18. Macbook如何更换固态硬盘【亲测有效】
  19. 【淘宝API开发系列】获取商品详情,商品评论、卖家订单接口
  20. 《C#零基础入门之百识百例》(二十一)数组遍历 -- 删除数组零元素

热门文章

  1. 安洵信息渗透工程师面试经验分享
  2. 四、案例:北京二手房价影响因素分析
  3. 加载类型库/DLL 时出错。 (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
  4. 工具 - UI原型设计工具Pencil Project
  5. PHP+H5全栈工程师培训视频教程
  6. 办公室电脑如何共享计算机,办公室电脑如何互相共享文件?
  7. ADNI数据_PET——官方预处理
  8. 1 常用邮箱SMTP/POP3地址及端口
  9. ZDM按横断面水位线河道开挖
  10. bledner做MMD心得(二)