青少年编程知识记录 codecoming

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

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]

(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:复赛 浏览: