1.最常犯的错误:格式错误。

在PTA程序检测中,输入输出要严格按照题目要求。输出的格式要完全按照题目要求来,该空格地方空格,该换行要换行。否则,就算你运行结果是对的,PTA还是提示你格式错误

格式错误1:输出没有完全按照题目要求输出。

7-1 计算摄氏温度
本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
要求:按照下列格式输出
fahr = 100, celsius = 计算所得摄氏温度的整数值

你输入的代码如下

#include <stdio.h>
int main()
{
int fahr,celsius;
fahr=100;
celsius=5*(fahr-32)/9;
printf("fahr =100, celsius = %d",celsius);
return 0;
}

代码并没有错误,但是运行结果却是格式错误,错误在于你的printf语句没有按照题目的输出格式来输出。fahr = 100这里的100=应该要有一个空格隔开。

避免犯格式错误,最好办法就是把题目的输出复制到代码中

格式错误2:输出的头尾多了空格或者换行符

如果输出内容有多行时候,通过循环结构实现输出很容易会多一个换行符。比如

  for(i=1;i<=5;i++)   printf("hello\n");

上面代码运行没任何问题,输出了5行hello,但是最后一个hello还会多了一个\n,就是会换行。 但是多的这个换行符就会和题目要求输出不匹配,一般PTA题目输出多行内容,最后一行都没有换行符,所以这段代码提交还是会犯格式错误问题。怎么解决呢?

  • 1.最后一项单独判断
  for(i=1;i<=5;i++)
{
if(i==5) printf("hello");
else printf("hello\n");
}
  • 2.最后一项不好确定,引入flag
int flag=1;
for(i=1;i<=5;i++)
{
if(flag) {printf("hello");flag=0;}
else printf("\nhello");
}

上述代码输出的5行hello,就可以去掉尾部换行符。还有尾部多空格符,一样处理。你也可以根据题目具体输出要求修改你的程序。

2.答案错误或部分正确

你的程序输出结果错误。每个PTA程序都会设置几组测试数据,如果你的得分没有满分,那就是有些测试数据结果错误,导致没法满分。说明你的程序考虑不够完善,有些临界条件或者功能没实现,导致部分正确。所以你必须继续调试程序,找出不完善地方。

3.运行超时

  • 未在规定时间运行结束,可能你的程序死循环。
  • 循环次数过多,超过时间限制。本该单层循环结束,却用双层循环解决,也会这样问题。

4.段错误

  • 这个错误一般在程序使用数组这种结构才会出现错误,如果定义数组长度太小,没有达到题目要求最大值的情况。

    比如这个题目:



    这里有提到字符串长度不超过10000,这个时候你定义数组就要超过这个值,否则引起段错误或答案错误。比如你可以定义char str[10010];

  • scanf没有加&

  • 野指针。指针没有指向。如

int *p;
printf("%d", *p1);

5.编译错误

这种错误一般是程序中有语法错误,比如少了分号之类。

常见错误总结如下图所示:

PTA常见错误的更多相关文章

  1. 初识JAVA(二)(送给Java和安卓初学者)----常见错误

    博主接着上篇的来讲哦,以后的更新中,博主会出一些练习题,有兴趣的可以做做然后吧代码粘贴到下面,大家可以一起研究学习,一起进步,本篇文章主要讲的是: 一.常见错误 二.连接上篇一起的训练 无论是什么方向 ...

  2. ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock

    ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock 通过终端安装程序sudo apt-get install xxx时出错:E: Could not ...

  3. coreseek常见错误原因及解决方法

    coreseek常见错误原因及解决方法 Coreseek 中文全文检索引擎 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和 ...

  4. Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误

    嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 ge ...

  5. C语言初学者代码中的常见错误与瑕疵(23)

    见:C语言初学者代码中的常见错误与瑕疵(23)

  6. struts2.5框架使用通配符指定方法常见错误

    struts2.5框架使用通配符指定方法(常见错误) 在学习struts框架时经常会使用到通配符调用方法,如下: <package name="shop" namespace ...

  7. .Net常见错误

    常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多语言的程序员,习惯了给变量赋值的时候,要么赋单纯的值,要么是现有对象的引用.然而,在C# 中,是值还是引用,是由写这个对象的程序员决定 ...

  8. WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

    在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于WCF服务的特殊性,调试起来也不是那么方便,因此往往会花费不少时间来进行跟 ...

  9. Python程序的常见错误(收集篇)

    关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Applicatio ...

随机推荐

  1. cookies、sessionStorage、和localStorage的区别。

    为什么会有cookie和session? 我们都知道http是无状态的协议无连接的,客户每次在读取web页面时服务器都会打开新的会话.服务器不会自动维护客户上下文的信息,那么session就是一种保存 ...

  2. Alice and Bob HDU - 4268

    Alice and Bob's game never ends. Today, they introduce a new game. In this game, both of them have N ...

  3. Excel2010 日文显示乱码

  4. 前端测试框架对比(js单元测试框架对比)

    前端测试框架对比(js单元测试框架对比) 本文主要目的在于横评业界主流的几款前端框架,顺带说下相关的一些内容. 测试分类 通常应用会有 单元测试(Unit tests) 和 功能测试(Function ...

  5. 【BZOJ3238】差异(后缀自动机)

    [BZOJ3238]差异(后缀自动机) 题面 BZOJ 题解 前面的东西直接暴力算就行了 其实没必要算的正正好 为了方便的后面的计算 我们不考虑\(i,j\)的顺序问题 也就是先求出\(\sum_{i ...

  6. 严格次小生成树(Bzoj1977:[Beijing2010组队]次小生成树)

    非严格次小生成树 很简单,先做最小生成树 然后枚举没加入的边加入,替换掉这个环内最大的边 最后取\(min\) 严格次小生成树 还是一样的 可以考虑维护一个严格次大值 最大值和枚举的边相同就替换次大值 ...

  7. 实战绕过某医院的waf

    最近遇到一个注入,我们直接来看吧.还是常规的单引号: 是一个很常规的注入.我们来尝试下获取一些信息: 然后发现是有防火墙的,安全狗.安全狗有很多针对php+mysql的绕过方法,比如这样:/*!uni ...

  8. Word 2007 封面、目录和正文页码单独设置

    word 2007 生成目录比较简单,即使不会,也可以百度,很快就能弄好.现在有如下需求: 1.封面去掉页码 2.目录页码从1开始,页码在页脚底部中间位置,格式为[1] 3.正文也从1开始,页码在页脚 ...

  9. MSIL实用指南-加载bool、sbyte、byte、char、short等值

    这一篇讲解怎么加载bool值.sbyte值.byte值.char值.short值. 加载bool值在.NET程序实际运行中,是没有true和false值的,实际上是以1和0表示它们,加载它们的指令是L ...

  10. react-native导航器 react navigation 介绍

    开发环境搭建好之后,想要进一步了解react-native,可以先从react-native官网上的电影列表案例入手: https://reactnative.cn/docs/0.51/sample- ...