首页 > 编程知识 正文

pta报错,pt异常原因

时间:2023-05-04 06:30:47 阅读:265657 作者:2095

#最近做了一些PTA上面的题,发现只要有一点点错误就不行,果真还是人类讲人情啊。所以下面整理一下。

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

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

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

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


虽然我们用devc++或者其他软件可以运行出来,但是提交却会提示我们“格式错误 ”

代码并没有错误,但是运行结果却是格式错误,错误在于你的printf语句没有按照题目的输出格式来输出。fahr = 100这里的100和=应该要有一个空格隔开。
避免犯格式错误,最好办法就是把题目的输出复制到代码中。

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

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

for(i=1;i<=5;i++) printf("hellon");

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

for(i=1;i<=5;i++) { if(i==5) printf("hello"); else printf("hellon"); }

2.答案错误或部分正确
你的程序输出结果错误。每个PTA程序都会设置几组测试数据,如果你的得分没有满分,那就是有些测试数据结果错误,导致没法满分。说明你的程序考虑不够完善,有些临界条件或者功能没实现,导致部分正确。所以你必须继续调试程序,找出不完善地方。
3.运行超时
•未在规定时间运行结束,可能你的程序死循环。
•循环次数过多,超过时间限制。本该单层循环结束,却用双层循环解决,也会这样问题。

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。