学习心得

刚来实验室的时候,我还是一个小白 。是一个刚开始对c语言迸发出兴趣的一个大学生。
来到实验室之前做的面试题,我都感觉到十分有趣而且新鲜好玩。那一天熬夜恶补c语言的各种知识(学的有点半拉磕叽的啊噗)还学了两种排序。
最后没想到的是我居然进来了!哇哈哈哈~贼开心
来到这里我发现这里全都是大佬。。c都学完了或者就差一点学完了,我真的感到亚历山大。。。
但也给了我动力。我知道和他们相比我和他们的差距有点大,但我会一直学习,成为一个优秀滴程序猿~毕竟我还是喜欢这个东西的。
来到实验室的这段时间里,我学了判断,循环,函数,数组等知识,也学习排序,还有队列。当然在前面这些东西我也去各种网站找题一道一道的做了。今天是13号,离月底越来越近了。在这个月底之前我要学习完指针,结构体,文件,将c语言学习完,赶上进度,为即将到来的挑战尽可能的丰富自己。
在这期间我也做了很多有趣的问题,比如下面这个猜数游戏:这个程序是通过调用一个time函数来随机产生一个任意的数字,并通过while循环以及if判断语句,并用了count变量来存储输入次数。代码如下。

#include <stdio.h>
#include<stdlib.h>
#include <time.h>

int main()
{
	srand(time(0));
	int  number=rand()%100+1;
	int count=0;
	int a=0;
		printf("我已经想好了一个1-100之间的数"); 
	do{
		printf("请猜这个数:");
		scanf("%d",&a);
		count++; 
		if(a>number){
			printf("你猜的数大了"); }
		else if(a<number){
		printf("你猜的数小了");} 
	} while(a!=number);
		printf("用了%d次猜到了答案",count);
		return 0;
 } 

除此之外我还学习了利用结构体和数组来解决队列的问题。这里定义了一个data数组作为队列的主体,用来存储内容。head为队首,tail为队尾。这个代码用来解决一串加密的数字。这串数字的解密规则如下:首先将第一个数删除,紧接着将第二个数放到这串数的末尾,在将第三个数删除并将第四个数放到这串数的末尾。。。。。直到剩下最后一个数,将最后一个数也删除。比如一串加密过的数字是:6 3 1 7 5 8 9 2 4。
代码如下。

#include <stdio.h>
struct queue
{
	int data[100];//队列的主体,用来存储内容 
	int head;//队首
	int tail; 
 } ;
 int main()
 {
 	struct queue q;
 	int i;
 	//初始化队列
	 q.head=1;
	 q.tail=1;
	 for(i=1;i<=9;i++)
	 { 
	 	//依次向队列插入9个数 
	 	scanf("%d",&q.data[q.tail]);
	 	q.tail++;
	  } 
	while(q.head<q.tail)//队列不为空的时候执行循环  
	{
		//打印队首并将队首出队
		printf("%d ",q.data[q.head]);
		q.head++; 
		
		//先将新队首的数添加到队尾
		q.data[q.tail]=q.data[q.head];
		q.tail++;
		//再将队首出队 
		 q.head++;
		
	}
	return 0;
 }

输入:6 3 1 7 5 8 9 2 4
输出:6 1 5 9 4 7 2 8 3
代码在上面,我们来总结一下:队列是一种特殊的线性结构,他只允许在队列的首部(head)进行删除操作,这称为出队,而在队列的尾部进行插入操作,这称为入队。当队列中没有元素时(即head==tail),称为空队列 。这是一种先进先出(FIFO)的原则。
我还了解到队列将是我们今后学习广搜以及队列优化的Bellman-Ford最短路径算法的核心数据结构。
未完待续。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
城市应急指挥系统是智慧城市建设的重要组成部分,旨在提高城市对突发事件的预防和处置能力。系统背景源于自然灾害和事故灾难频发,如汶川地震和日本大地震等,这些事件造成了巨大的人员伤亡和财产损失。随着城市化进程的加快,应急信息化建设面临信息资源分散、管理标准不统一等问题,需要通过统筹管理和技术创新来解决。 系统的设计思路是通过先进的技术手段,如物联网、射频识别、卫星定位等,构建一个具有强大信息感知和通信能力的网络和平台。这将促进不同部门和层次之间的信息共享、交流和整合,提高城市资源的利用效率,满足城市对各种信息的获取和使用需求。在“十二五”期间,应急信息化工作将依托这些技术,实现动态监控、风险管理、预警以及统一指挥调度。 应急指挥系统的建设目标是实现快速有效的应对各种突发事件,保障人民生命财产安全,减少社会危害和经济损失。系统将包括预测预警、模拟演练、辅助决策、态势分析等功能,以及应急值守、预案管理、GIS应用等基本应用。此外,还包括支撑平台的建设,如接警中心、视频会议、统一通信等基础设施。 系统的实施将涉及到应急网络建设、应急指挥、视频监控、卫星通信等多个方面。通过高度集成的系统,建立统一的信息接收和处理平台,实现多渠道接入和融合指挥调度。此外,还包括应急指挥中心基础平台建设、固定和移动应急指挥通信系统建设,以及应急队伍建设,确保能够迅速响应并有效处置各类突发事件。 项目的意义在于,它不仅是提升灾害监测预报水平和预警能力的重要科技支撑,也是实现预防和减轻重大灾害和事故损失的关键。通过实施城市应急指挥系统,可以加强社会管理和公共服务,构建和谐社会,为打造平安城市提供坚实的基础
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值