精华内容
下载资源
问答
  • 在前面,我们分别利用泰勒公式和C标准库中的mktime()函数推算了某个特定日期所对应的星期,刚做完这些,就又遇到了一个与日期相关的新任务: 老板把每个月例会的时间定在了每个月的第一个星期一,他让我把具体...

    在前面,我们分别利用泰勒公式和C标准库中的mktime()函数推算了某个特定日期所对应的星期几,刚做完这些,就又遇到了一个与日期相关的新任务:

    老板把每个月例会的时间定在了每个月的第一个星期一,他让我把具体日期整理出来,发给每一个成员,提醒大家准时参加。

    简单地讲,也就是把每个月的第一个星期一对应的日期提取出来。如果时间范围比较短(比如一年),自己翻翻日历勉强也能解决,如果要是时间范围比较长(比如十年),再去一个个翻日历,就麻烦了。怎么办?

    还记得我们在学了C语言,如何统计一篇英文文章中的单词数?中所认识和体会到的:

    程序,就是用来帮助人们完成这些看起来枯燥繁琐但是带有一定规律性的事情的。

    面对这个麻烦而又有一定规律的问题,我们同样可以用C语言写个程序来解决。

    如何解决呢?想想我们是如何在日历中找出每个月的第一个星期一的?我们先用1月份的第一个星期一作为起点,然后以七天为一个间隔,查看下一个星期一的日期,如果是新的一个月的星期一,则输出,如果在已经输出的这个月,则继续加上7天向下寻找,知道找完这一年为止。

    基本思路就是这样,但是,我们这里还用到了mktime()函数的一个特点,也就是如果输入的分解时间的日期tm_mday超出了其取值范围[0,30],mktime()会将其折算成相邻月份的日期,比如,某个月的tm_mday 为32,而这个月只有30天,mktime()会将其视作下个月的第二天,而不会将其视作日期错误。利用这个特性,我们就可以通过递增tm_mday完成整个一年的遍历访问量了。

    按照上面分析的思路,我们可以将其实现如下:

    #include <string.h>
    #include <time.h>
    #include <stdio.h>
    #include <stdbool.h>
    int main()
    {
        struct tm t;
        memset(&,0,sezeof(t));
        //用年月日填充分解时间t
        //这里指定1月中的第一个星期为起点
        t.tm_year = 2013 - 1900; // 年份,减去起始年份
        t.tm_mon = 1 - 1; // 月份
        t.tm_mday = 7;  // 2013年1月7日是1月份的第一个星期一
        puts("the first mondays in 2013 are");
        // 记录已经输出的月份
        int lastmon = -1;
        while(true)
        {
            //将分解时间t转换为日历时间ct
            time_t ct = mktime(&t);
            if(-1 == ct) //日期错误
            {
                break;
            }
            else
            {
                //用localtime()函数获取日历时间ct对应的分解时间
                struct tm* bt = localtime(&ct);
                //判断是否在2013年内
                if(bt->tm_year != 2013-1900)
                {
                    break;
                }
                //判断这个星期一是否是本月的第一个星期一
                if(t.tm_mon != lastmon)
                {
                    //如果是,输出对应的日期
                    printf("%d - %d\n",bt->tm_mon+1,bt->tm_mday);
                    //记录本月已经输出
                    lastmon = bt->tm_mon;
                }
                t = *bt;  //更新日期
                t.tm_mday += 7; //检查下一个星期一
            }
        }
    
        return 0;
    }

    利用这个函数,我们可以轻松地得到2013年的每个月的第一个星期一对应的日期,可以圆满向老板交差了。

    the first mondays in 2013 are

    1 – 7, 2 – 4, 3 – 4, 4 – 1, 5 – 6, 6 – 3

    7 – 1, 8 – 5, 9 – 2, 10 – 7, 11 – 4, 12 – 2

    转自:http://www.howzhi.com/course/3387/lesson/43224

    转载于:https://www.cnblogs.com/kingshow123/p/firstmonday.html

    展开全文
  • 输入一个数字对应出星期

    千次阅读 2013-11-03 21:04:07
    我的程序: [cpp] view plaincopyprint?.../* * 程序的版权和版本声明部分: * ... * 文件名称:test.cpp * 作 者:王鲁峰 * 完成日期:2013年11 月 3 日 * 版 本 号:v1.0 * 对任务及求解

    我的程序:

    1. /*  
    2. * 程序的版权和版本声明部分:  
    3. * Copyright (c) 2011, 烟台大学计算机学院  
    4. * All rights reserved.  
    5. * 文件名称:test.cpp  
    6. * 作    者:王鲁峰  
    7. * 完成日期:2013年11 月 3 日  
    8. * 版 本 号:v1.0  
    9. * 对任务及求解方法的描述部分: 
    10. * 输入描述:无  
    11. * 问题描述:  输入一个数字对应出星期几
    12. * 问题分析:略 
    13. * 算法设计:略  
    14. */    
    15. #include <iostream>
      using namespace std;
      int main()
      {  int number;
        cin>>number;
        switch (number)
        {case 1:cout<<"Monday"<<endl;break;
        case 2:cout<<"Tuesday"<<endl;break;
        case 3:cout<<"Wednesday"<<endl;break;
        case 4:cout<<"Thursday"<<endl;break;
        case 5:cout<<"Friday"<<endl;break;
        case 6:cout<<"Saturday"<<endl;break;
        case 7:cout<<"Sunday"<<endl;break;
        }

                        return 0;
                  }

    16.运行结果:


    17.心得体会:

            让生活变得有规律

     

    18.知识点总结:

         运用了switch语言,省很多事情。

     

    展开全文
  • Windows7根据pid查看到对应程序

    万次阅读 2015-08-18 19:30:02
    比方说 台机器上运行几个tomcat进程, 在任务管理器上 只能显示 java进程名 ,这是pid不同。这时如果想知道到底是启动的那个tomcat占用的资源最多,就要看一下 进程的执行路径确定一下。 方法其实也挺简单的 在...
    有没有遇到过这样的情景,通过window的任务管理器,查看到好多相同的进程名。比方说 一台机器上运行几个tomcat进程,
    在任务管理器上 只能显示 java进程名 ,这是pid不同。这时如果想知道到底是启动的那个tomcat占用的资源最多,就要看一下
    进程的执行路径确定一下。
    方法其实也挺简单的 在命令提示符下输入一下命令就可以了
    wmic process  list 查看所有的进程的
    wmic process get name,executablepath,processid
    查看进程名,路径,pid 再配合使用find或findstr就可以查到pid对应的路径了
    wmic process get name,executablepath,processid|findstr pid
    这样就ok了
    展开全文
  • -p:仅显示任务对应的进程号 -n:显示任务状态的变化 -r:仅输出运行状态(running)的任务 -s:仅输出停止状态(stopped)的任务 举列#打开vim 编辑a.txt, 并且按[Ctrl+z]隐藏 jianglei@jianglei-Thurley:~/bird/...

    简介

    jobs 显示后台运行的程序

    参数

    -l:显示后台运行的程序的详细状态
    -p:仅显示任务对应的进程号
    -n:显示任务状态的变化
    -r:仅输出运行状态(running)的任务
    -s:仅输出停止状态(stopped)的任务

    举列

    jobs

    #打开vim 编辑a.txt, 并且按[Ctrl+z]隐藏
    jianglei@jianglei-Thurley:~/bird/jobs$ vim a.txt
    
    [1]+  Stopped                 vim a.txt
    
    #在后台运行两个ping任务
    jianglei@jianglei-Thurley:~/bird/jobs$ ping localhost -a > /dev/null &
    [2] 7868
    jianglei@jianglei-Thurley:~/bird/jobs$ ping localhost -a > /dev/null &
    [3] 7869
    
    #显示任务
    jianglei@jianglei-Thurley:~/bird/jobs$ jobs
    [1]+  Stopped                 vim a.txt
    [2]   Running                 ping localhost -a > /dev/null &
    [3]-  Running                 ping localhost -a > /dev/null &
    
    #显示任务,并带上PID
    jianglei@jianglei-Thurley:~/bird/jobs$ jobs -l
    [1]+  7867 Stopped                 vim a.txt
    [2]   7868 Running                 ping localhost -a > /dev/null &
    [3]-  7869 Running                 ping localhost -a > /dev/null &
    
    #显示暂停的任务
    jianglei@jianglei-Thurley:~/bird/jobs$ jobs -s
    [1]+  Stopped                 vim a.txt
    
    #显示运行中的任务
    jianglei@jianglei-Thurley:~/bird/jobs$ jobs -r
    [2]   Running                 ping localhost -a > /dev/null &
    [3]-  Running                 ping localhost -a > /dev/null &
    
    #仅显示任务的PID
    jianglei@jianglei-Thurley:~/bird/jobs$ jobs -p
    7867
    7868
    7869
    

    bg fb

    #启动两个后台运行的程序
    jianglei@jianglei-Thurley:~$ ping localhost -a > /dev/null &
    [1] 26709
    jianglei@jianglei-Thurley:~$ ping 127.0.0.1 -a > /dev/null &
    [2] 26711
    
    #看一看,任务的状态
    jianglei@jianglei-Thurley:~$ jobs
    [1]-  Running                 ping localhost -a > /dev/null &
    [2]+  Running                 ping 127.0.0.1 -a > /dev/null &
    
    #将编号为1的任务拿到前台来运行,并按下[Ctrl+z],暂停该任务
    jianglei@jianglei-Thurley:~$ fg 1
    ping localhost -a > /dev/null
    ^Z
    [1]+  Stopped                 ping localhost -a > /dev/null
    
    jianglei@jianglei-Thurley:~$ jobs
    [1]+  Stopped                 ping localhost -a > /dev/null
    [2]-  Running                 ping 127.0.0.1 -a > /dev/null &
    
    #让编号为1的任务在后台运行
    jianglei@jianglei-Thurley:~$ bg 1
    [1]+ ping localhost -a > /dev/null &
    
    
    jianglei@jianglei-Thurley:~$ jobs
    [1]-  Running                 ping localhost -a > /dev/null &
    [2]+  Running                 ping 127.0.0.1 -a > /dev/null &
    jianglei@jianglei-Thurley:~$ 
    

    参考文献

    《鸟哥的私房菜-基础学习篇》
    linux命令手册:http://linux.51yip.com/search/jobs

    展开全文
  • 个程序,根据输入的参数可以自动处理WIP_MOVE_TXN_INTERFACE表。 虽然一般都是排一个“WIP 移动事务处理管理...逻辑也很简单,就是自动提交一个“WIP 移动事务处理工作流程”处理对应GROUP_ID的数据。 代码也共享出
  • 任务实现方式()

    2020-01-08 14:58:59
    程序和进程的对应关系是:程序只有一个,但是进程可以有多个。 进程是系统进行资源分配和调度的基本单位。 2.进程的状态 在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行 和...
  • 计算机系统中的几个重要抽象 文件:USB控制器、图形适配器、磁盘控制器的一种抽象,基于冯诺依曼体系–一切皆文件。屏蔽操控硬件的复杂度 ...启动一个应用相当创建了一个进程,占用一部分系统资源,每个进程对应
  • 这时程序会弹出一个对话框加载网络数据,可是发现用户经常因为数据加载慢,就快速的退出这个页面,这样反复来回几次后,发现AsyncTask不再继续加载,而是慢慢的等待,查了下个数,是前几个没有及时的关闭,导致当前...
  • 天做ARM,linux内核移植与驱动程序开发,一个建工程的时候喜欢把驱动程序和应用程序的源码放到一块儿,但是对应的Makefile只能有一个,为了加快开发的效率,将应用程序的Makefile改为批处理文件。   对...
  • 进程池中的每一个进程在爬取辆车的所有文章后停止运行,求大佬解答,不甚感激。 ## 代码如下 ``` # coding=utf-8 import requests import os import re import json import time import random ...
  • 有时打开资源管理器后常发现Nw3wp进程,有时某个进程占用了过高的内存,以前不得不挨个回收应用程序池来观察是哪个应用程序对应哪个w3wp进程,最近在网上发现篇文章,介绍方法,可以查到w3wp对应的池子。...
  • windows 程序设计

    2012-03-07 15:25:21
    用户可在屏幕上移动窗口,改变它们的大小,在不同程序间切换,并从一个程序向另一个程序传送数据。因为这些窗口看起来有些像桌面上的纸(当然,这是计算机还未占据办公桌之前的年代),Windows有时被称作:一个显示...
  • 偶尔会遇到端口被占用的情况,这个时候需要先找到占用的程序,然后kill掉这个程序,步骤很简单,方法也好种:、如果知道程序被哪个程序占用,直接呼出任务管理器,找到对应程序右键结束进程即可。二、但是很多...
  • 多线程是指同时存在几个执行体按几条不同的执行线索共同工作的情况Java 语言内置对多线程的支持这是Java语言的重要特点之它使得编程人员可以很方便地开发出具有多线程功能能同时处理多个任务的功能强大的应用程序 ...
  • linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。 Linux进程状态:R (TASK_RUNNING),可执行状态。 只有在该状态的进程才可能在CPU上...
  • linux简单计划任务设置

    千次阅读 2017-10-18 13:27:59
    linux计划任务使用自带的crontab工具来实现,对应配置文件放在 /...其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第日,f4 表示月份,f5 表示一个星期中的第天。program 表示要执行的程序。  图中设
  • Java并发之构建异步任务

    千次阅读 2017-12-22 14:29:18
    有个小朋友表示我写的并发文章,不够细,看了...一系列的任务A,B,C,D…必须一个一个的处理。 而异步则是可以并发同时处理多个任务。 举个栗子吧。 某个网站的用户提交注册需要以下步: 1,调用用户服务,写入数
  • 最近天在做一个集群间数据迁移的任务,要做的事很简单,就是给定一个任务文件,文件中每一行对应一个source:dest形式的迁移任务(source和dest均为文件名),任务数在千万级别。要做的事情其实很简单,读取每一行...
  • 关于微信小程序中时间预约的简单实现一级目录二级目录三级目录 在平时小程序的学习中遇到...在小程序对应Page的js文件中定义获取未来某天的方法 项目2 项目3 一级目录 计划任务 完成任务 二级目录 三级目录 ...
  • 启动项目时,报错:端口被占用。已经出现过好次这种情况了,所以整理出来便于以后查阅。 1、查看被占用的端口的pid(我这里被占用的是10000端口) ...直接去任务管理器结束任务(但是我这次没找到这PID对应
  • 首先了解几个概念 1. 串行 最基本的程序执行方式,串行程序的整个运行时,只有一个调用栈和一个运行时上下文。 2. 并发 ...多核处理器出现后会越来越常见的程序执行方式,物理上多个任务可以同...
  • 集成Google 桌面搜索:不仅仅是将搜索画面放到应用程序里,而且增加对搜索结果的处理,凡是搜索到应用程序“\Data”目录下的文件,将自动转换为对应的“知识点”画面打开,而不是默认的直接打开文件的方式 ...
  • HttpMon HTTP监控程序

    2015-06-01 07:44:49
    a)重启计算机 b)重启IIS c)关闭计算机 d)请求页面 "请求页面"可用于扩展程序功能,如通过请求一个程序页面 (http://csdn.cn/sendmail.asp)发信给管理员。 2.因为有时重启IIS不一定成功,所以当上面错误情况出现时...
  • 天想研究一下微信的小程序,就下载了一个微信开发工具,下载完成之后发现任务栏竟然没有对应的图标,我的强迫症又犯了,。在安装的时候我发现了好像这个工具是依赖于NW就是node-webkit开发的,碰巧以前作古一个...
  • 异步任务处理 AsyncTask

    2012-07-28 11:30:50
    AsyncTask的执行分为四个步骤,每一步都对应一个回调方法,这些方法不应该由应用程序调用,开发者需要做的就是实现这些方法。 1) 子类化AsyncTask 2) 实现AsyncTask中定义的下面一个几个方法 onPreExecute(), ...
  • 你的任务是编写一个程序,输入一个在0~86399之间的整数n,输出n对应的时间(从00:00:00到23:59:59)。 编写两个函数to_time()和put_time()完成程序: 原型:struct time to_time(int n); 功能:把参数n换算为用...
  • Java多线程交替执行任务

    千次阅读 2016-09-13 14:22:14
    这就是一个典型的多任务有顺序的进行。对于每一个人来说都有顺序要经过这步。  我们可以通过程序简单的抽象成,使用三个线程,每个线程分别只打印A、B、C. 依次打印出十组ABC. 二:实现思路:
  • 你的任务是编写一个程序,输入一个在0~86399之间的整数n,输出n对应的时间(从00:00:00到23:59:59)。 编写两个函数to_time()和put_time()完成程序: 原型:struct time to_time(int n); 功能:把参数n换算为用...
  • 在IIS6.0中,我们一般会为每个站点建立一个应用程序池,这样就会开启好几个w3wp.exe进程,有时在Windows任务管理器中看到某个w3wp.exe进程内存使用特别高,这时怎么判断它所对应的应用程序池?进而知道对应的是哪...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 515
精华内容 206
关键字:

一个程序对应几个任务