当前位置:首页 > 复赛 > 正文内容

NOIP/CSP考试中需要注意的一些问题(持续更新)

亿万年的星光5年前 (2021-01-28)复赛2427
1.gets问题

考试中请不要使用gets函数读取字符数组。可以用cin的方式读取。如果是字符串,请直接使用string及getline的方式读取。

2.strlen问题

在考试中,如果使用strlen函数,那么最好不要出现在循环和判断的内部。例如

int main()
{
   char a[500];
   cin>>a;
   for(int i=0;i<strlen(a);i++) //这种写法会让时间复杂度由O(n)变成O(n^2)
   {
       cout<<a[i]<<endl;
   }
}

应该改成这样:

int main()

   char a[500];
   cin>>a;
       int len =strlen(a);
   for(int i=0;i<len;i++)  
   {
       cout<<a[i]<<endl;
   }
}

同理,像if这样的语句中,尽量也不要出现 strlen,应该把他放到外面。

3.其他问题
  • 头文件用错,不会的话就用万能头吧

  • 没有使用文件输入输出

  • 输入输出文件名写错误

  • 文件输入输出位置写错

  • 文件输入输出中要求用英文的部分出现了中文

  • 文件输入输出语句中双引号写成单引号

  • 函数名freopen写错

  • 输入输出文件名写错

  • 调试的时候加入了调试输出,提交的时候忘了删除或者注释掉

  • 使用变量定义数组。例如 int a[n]

    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    NOIP2009年普及组 T2 分数线划定

    【题目描述】世博会志愿者的选拔工作正在A市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如...

    NOIP2013年普及组T2 表达式求值

    【题目描述】给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。【输入描述】输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“∗”,且没有括号,所有参与运...

    NOIP2011年普及组T2 统计单词数

    【题目描述】一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给...

    CSPJ2019普及组T1 数字游戏

    【题目描述】小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串来玩数字游戏,小 P 同学想要知道字符串中究竟有多少个 1。注意:01 字符串为每一个字符是 0 或者 1 的字符串,如“1...

    NOIP2015年普及组 T2 扫雷游戏

    【题目描述】扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中...

    NOIP2018 T2 龙虎斗

    NOIP2018 T2 龙虎斗

    【题目描述】轩轩和凯凯正在玩一款叫《龙虎斗》的游戏,游戏的棋盘是一条线段,线段上有n个兵营(自左至右编号1∼n),相邻编号的兵营之间相隔 1 厘米,即棋盘为长度为n−1厘米的线段。...