我的C语言队列练习

资源下载(包含所有代码、MakeFile、以及一份简单描述分析思路和流程图的WORD文档): http://download.csdn.net/detail/htianlong/4443226
/*************************************************************
题目:电话客户服务模拟
    1、    问题描述
一个模拟时钟提供接听电话服务的时间(以分钟计),然后这个时
钟将循环地自增1(分钟),直到到达指定的时间为止。在时钟的每
个“时刻”,就会执行一次检查来看看当前电话的服务是否已经完成,
如果是,这个电话从电话队列中删除,模拟服务将从队列中取出下
一个电话(如果有)继续开始。同时还需要执行一个检查来判断是
否有一个新的电话到达,如果有将其到达的时间记录下来,并为其
产生一个随机服务时间,这个服务时间也被记录下来,然后将这个
电话放入电话队列中,当客户服务人员空闲时,按照先来先服务的
方式处理这个队列。当时钟到达指定时间时,不会再接听新电话,
但是服务将继续,直到队列中所有电话得到处理为止。
    2、    要求
    (1)    程序需要处理的初始数据包括:客户服务人员的人数
、时间限制,电话到达的速率,平均服务时间。
    (2)    程序产生的结果包括:处理的电话数,每个电话的平
均等待时间
运行环境:Linux
Linux下调试通过。
*************************************************************/
#include <stdio.h>
#include <time.h>
#include "queue.h"
/**需要输入的数据*/
int customer_service_staff_num = 5;//客户服务人员的人数
time_t time_limite = 20;//时间限制
double telephone_rate = 60.0/60;//电话到达的速率
/*此处为简化程序默认通电时间在0到2倍平均时间之间均匀分布*/
int average_service_time = 10;//平均服务时间
/**其他全局变量*/
time_t start_time;//记录开始时间
time_t t;//上次时间
int period_time;//电话到达的周期
time_t rawtime;//当前时间,以秒计,从1970年1月一日起算
queue tel_wait_que;//电话等待队列
int wait_time_sum  = 0;//等待时间
int phone_sum = 0;//电话计数
int phone_service_finished = 0;//电话服务是否全部完成?1:未完成;0:完成
/**题目中所指的电话队列指的不可能是计算机用语中的队列,因为删除的不是总在开头*/
time_t *tel_que;//“电话队列”指针

void init()//初始化
{
    int i;
    system("clear");
    printf("请输入客户服务人员的人数(建议输入5)\n");
    scanf("%d", &customer_service_staff_num);
    printf("请输入时间限制(建议输入20)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学习和练习C语言可以通过编写和测试不同的demo来提高编程能力。C语言是一种通用的编程语言,广泛应用于各个领域,掌握它可以为今后的工作提供更多的机会和可能性。 在学习C语言的过程中,可以通过编写一些简单的demo来熟悉语言的基本语法和特性。比如,可以从最基础的"Hello World"开始,通过输出一段简单的文本来验证编译器和环境的正确性。然后,可以尝试编写一些算术运算的demo,例如计算两个数字的和、差、乘积和商等。这些简单的demo能够帮助掌握C语言基本的变量、运算符和控制流程等知识点。 随着学习的深入,可以挑战一些稍微复杂一点的demo,例如实现一些简单的排序算法(如冒泡排序、插入排序)或者简单的数据结构(如链表、栈、队列等)的操作。这些练习可以帮助提高编程逻辑和问题解决能力,同时也是对C语言的更深入理解。 除了自己编写demo外,还可以通过参考其他人的代码来学习C语言的一些实际应用。例如,可以在网上搜索一些开源项目或者社区中分享的代码,了解其他人是如何应用C语言进行实际项目开发的。这有助于理解C语言的实际应用场景和开发规范。 总之,通过学习和练习C语言的demo,能够提高编程能力和解决问题的能力。不断挑战自己,不断学习,相信在不久的将来可以在C语言领域取得很大的进步。 ### 回答2: C语言学习的过程中,练习demo是一种非常好的方式。通过练习demo,我们可以巩固和应用所学的知识,提高编程能力和解决问题的能力。 练习demo可以涉及各种不同的主题和难度级别。对于初学者来说,可以从一些简单的案例入手,例如打印一句话、计算两个数的和等。通过这些练习,我们可以熟悉C语言的基本语法和常见的编程方式。 随着我们的学习不断深入,可以挑战一些更具有挑战性的练习demo,例如实现一个简单的计算器、编写一个猜数字的游戏等。这些练习可以帮助我们巩固掌握C语言的各种高级特性,如条件语句、循环语句、函数等。 在练习demo的过程中,我们还可以探索一些实际应用的场景,例如文件操作、网络编程、图形界面等。这些练习可以将我们的C语言能力应用到实际问题中,提高我们的实际编程能力。 此外,还可以参考一些优秀的示例代码和开源项目,通过阅读和理解这些代码,学习他们的编程思想和设计模式,从而提高自己的编程水平。 无论是初学者还是有经验的程序员,练习demo都是学习C语言的重要环节。通过不断地练习和实践,我们可以提高自己的编程能力,培养解决问题的思维方式,最终成为一名优秀的C语言程序员。 ### 回答3: C语言是一门广泛使用的编程语言,学习这门语言可以让我们掌握计算机编程的基础知识和技能。在学习C语言的过程中,练习demo是一个很重要的环节。 练习demo是通过编写小程序来巩固自己所学知识的一种方式。通过练习demo,我们可以将理论知识转化为实际应用,更好地理解和掌握C语言的各种语法和功能。 练习demo可以从简单的程序开始,比如输出"Hello World",逐渐增加难度,涉及到不同的C语言特性,比如条件语句、循环结构、数组、函数等等。我们可以通过编写各种实际场景中可能遇到的问题来练习demo,比如计算器、学生成绩管理系统、图书管理系统等等。 在练习demo的过程中,我们可以尝试不同的解决方法和算法,通过对比和分析不同的实现方式,提高我们的编程思维和解决问题的能力。同时,练习demo也可以帮助我们发现自己的不足之处,及时改进和提升。 此外,练习demo还可以培养我们的耐心和毅力。编写一个完整的程序可能需要很长时间和多次尝试,但坚持下来,最终得到正确的结果,会给我们带来成就感和满足感。 总之,通过练习demo,我们可以在实际操作中加深对C语言的理解和运用,提高编程能力,并为以后实际项目的开发打下坚实的基础。因此,学习C语言时,我们应该勤加练习demo,不断提升自己的编程水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值