zoukankan      html  css  js  c++  java
  • 模拟题总结

    1、无脑模拟题:

      1)int范围在2*10^9,long与int相同。 long long 为9*10^18。

      2)在复杂度较高时,可以考虑对输入的数据进行预处理,尽量边输入边处理,而不是全部存起来后再处理。

      3)使用字符数组、字符串数组来做输出,减少if else。 字符串数组初始化如下: char str[3][20] = {"bkjdc", "sadsa", "uerywur"};

      4)对于比较复杂的输入,可以用struct存储。struct 型变量里没有数组时,可以直接赋值。如果有数组,则需要对数组单独逐元素赋值。

    typedef struct rcd{
         char id[17];
         int hh,mm,ss;
    }record;

    2、打印输出题:

      1)两种办法,要么直接找到规律并按行输出;要么先开一个二维字符数组,在数组里进行操作,最后输出整个数组。

    3、计算日期差值:

      1)从小日期开始按天累加,直到小日期等于大日期。在累加的过程中需要做进制转换,年月日的进制中,日进到月会变化,所以将这部分存储为一个二维数组,分别记录平年与闰年的每月天数。

      2)闰年:能被4整除且不能被100整除,或者能被400整除。

    4、进制转换:

      1)a进制转为b进制,先将a进制转为10进制,再将10进制转为b进制。a进制转10进制时,采用每一位乘对应的基的次方并求和。 10进制转b进制,采用除基取余法(最好用do while循环)。

    5、字符串处理:

      1)scanf %s读字符串: char s[5][10],  t[10]; scanf("%s%s", s[1], t); 在读到空格后会截止。

      2)gets读字符串: gets(t);  在读到换行符才截止。但如果在读字符串之前读过整数,则需要将整数后面的字符(换行、空格)吸收掉(可用getchar()),否则会读入gets();

      3)strlen 、strcpy等需要引入<string.h>

    7、其它:

      1)long long: 输入输出 %lld;  float:  输入输出:%f;  double:输入: %lf    输出:%f;  

      2)%3d:右对齐,最长3位,不足用空格补齐;  %03d:右对齐,最长3位,不足用0补齐;  %.3f:保留三位小数

  • 相关阅读:
    2015年要做的150件事
    再见2014,你好2015
    页面滚动事件的使用
    简单的进度条演示
    mybatis foreach批量处理
    mysql执行顺序
    spring声明式事务 同一类内方法调用事务失效
    Semaphore
    springmvc使用JSR-303对复杂对象进行校验
    springmvc全局异常后返回JSON异常数据
  • 原文地址:https://www.cnblogs.com/zhuqiwei-blog/p/8443519.html
Copyright © 2011-2022 走看看