大一寒假周报1

一·C语言算法代码练习
洛谷:
1.津津储蓄计划

#include<stdio.h>
int main(void)
{
 int i,money=0,savings=0,saving=0,Estimate=0;
 for(i=1;i<=12;i++)
 {
  money = money + 300;
  scanf("%d",&Estimate);
  saving = 0;
  if((money-Estimate)>=100)
  {
   saving = (money-Estimate)/100;
   savings += saving;
  }
  money = money - saving*100 - Estimate;
  if(money<0)
   break;
 }
 if(money<0)
  printf("-%d\n",i);
 else
  printf("%d\n",savings*120+money);
}

题目描述:
麻麻每个月给津津300元,津津可以把整百的钱存到麻麻,到了年末把存的钱1.2倍返给津津。
津津每个月预算这个月会花多少,如果剩余的钱存在整百,则会主动把钱存在麻麻那里。
输入格式
从一月开始输入津津的预算。
输出格式
如果津津这个月的钱小于0(破产了),那么就输出-X,X表示破产的第一个月。
没有的话输出津津年末的总钱数。

2.买铅笔

#include <stdio.h>
int main()
{
   int n,a1,a2,b1,b2,c1,c2,a,b,c,z;
   scanf("%d",&n);//需要的数量
   scanf("%d %d",&a1,&a2);//a1是数量,a2是价格
   scanf("%d %d",&b1,&b2);
   scanf("%d %d",&c1,&c2);
   a=n/a1;a1=n%a1==0?a:a+1;a=a1*a2;//第一和第二表达式求至少需要买的铅笔包数,第三给表达式表示总共需要的价格
   b=n/b1;b1=n%b1==0?b:b+1;b=b1*b2;//同上
   c=n/c1;c1=n%c1==0?c:c+1;c=c1*c2;//同上
   if(a<b&&a<c)
    z=a;//取最省钱的方案,赋值给z
   if(b<a&&b<c)
    z=b;
   if(c<b&&c<a)
    z=c;
   printf("%d\n",z);
   return 0;
}

题目描述:
要花最少的钱买一种铅笔。
输入格式
先输入需要的铅笔数量,
再分别输入3种包装铅笔内的数量和每种包装铅笔的价格。
例如一种这样输入:包装内数量 价格
输出格式
输出最少花的钱。

链表复习:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct atm
{
 int num;
 char name[20];
 struct atm *next;
};
struct atm *createlist();
struct atm *deletelist(struct atm *head,char name[20]);
struct atm *insertlist(struct atm *head,int num);
int main(void)
{
 struct atm *head;
 char deleteatm[20];
 int insertatm;
 head = createlist();
 puts("请输入你需要删除的奥特曼名字:");
 scanf("%s",deleteatm);
 head = deletelist(head , deleteatm);
 puts("请输入你需要插入的位置:");
 scanf("%d",&insertatm);
 head = insertlist(head , insertatm);
 while(head)
 {
  printf("%d   %s\n",head->num,head->name);
  head = head->next;
 }
 return 0;
}
//创建链表
struct atm *createlist()
{
 struct atm *New,*End,*head=NULL;
 New = End = (struct atm*)malloc(sizeof(struct atm));
 puts("请输入第一个奥特曼的序号:");
 scanf("%d",&New->num);
 while(New->num!=-1)
 {
  puts("请输入这个奥特曼的名字");
  scanf("%s",New->name);
  if(head == NULL)
  {
   New->next = head;
   head = New;
   End = head;
  }
  else
  {
   New->next = NULL;
   End->next = New;
   End = New;
  }
  New = (struct atm*)malloc(sizeof(struct atm));
  puts("请输入下一个奥特曼的序号(-1 to stop):");
  scanf("%d",&New->num);
 }
 free(New);
 return head;
}
//删除节点
struct atm *deletelist(struct atm *head,char deleteatm[20])
{
 struct atm *p0,*p1;
 p0 = head;
 while(p0!=NULL)
 {
  if(strcmp(p0->name,deleteatm)==0)
  {
   p1 = p0;
   p0 = p0->next;
   free(p1);
  }
  else
   break;
 }
 head = p0;
 if(head==NULL)
  return NULL;
 p1 = head;
 p0 = head->next;
 while(p0!=NULL)
 {
  if(strcmp(p0->name,deleteatm)==0)
  {
   p1->next = p0->next;
   free(p0);
   p0 = p1->next;
  }
  else
  {
   p1 = p0;
   p0 = p0->next;
  }
 }
 return head;
}
//插入节点
struct atm *insertlist(struct atm *head,int insertatm)
{
 struct atm *p0,*pre;
 p0 = head;
 if(p0!=NULL && p0->num == insertatm)
 {
  struct atm *New = (struct atm*)malloc(sizeof(struct atm));
  puts("请输入要插入奥特曼的序号和名字:");
  scanf("%d %s",&New->num,New->name);
  New->next = head;
  head = New;
  return head;
 }
 if(head == NULL)
  return head;
 pre = head;
 while(pre!=NULL)
 {
  if(pre->num == insertatm)
  {
   struct atm *New = (struct atm*)malloc(sizeof(struct atm));
      puts("请输入要插入奥特曼的序号和名字:");
      scanf("%d %s",&New->num,New->name);
   New->next=pre->next;
   pre->next=New;
  }
  else
   pre = pre->next;
 }
 return head;
}

二·虚拟机初步认识
官方概念:
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
清俗易懂概念:
通俗一点来说虚拟机是虚拟出来的计算机的,想必大家都知道操作系统需要依赖硬件运行,在我们生活中常见的是一台电脑同时运行一个操作系统(非双系统),有了“虚拟机”同学,我们就可以在一台电脑硬件上同时运行两个操作系统。

虚拟机技术:
虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。又如,可以利用虚拟专用网技术(VPN)在公共网络中虚拟化一条安全,稳定的“隧道”,用户感觉像是使用私有网络一样。

虚拟系统:
虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。

收获:
通过对虚拟机的初步了解,了解了VPN是大概是如何工作的,懂得了为什么苹果电脑上也可以运行windows系统,可能正是由于虚拟机的作用,我想在苹果电脑有mac系统和win10系统的基础上,再装一个win7系统(因为个人想在win7上玩红警)

初步了解的虚拟机软件有:
VirtualBox
VMware Player

三·初步了解信息收集
1.系统的信息收集
1.1.CDN
什么是CDN?
内容分发网络
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

1.2CDN的优势
隐藏源主机的ip,降低延迟,提高服务响应速度,增加网络冗余,减小主服务器压力。

还了解一些关于查找对方真实ip(但大部分是移动的)、网站漏洞的知识

发布了5 篇原创文章 · 获赞 0 · 访问量 285

猜你喜欢

转载自blog.csdn.net/firm_people/article/details/104033145