导航:首页 > 源码编译 > pta出题编译工具

pta出题编译工具

发布时间:2022-06-08 06:36:55

Ⅰ Python复制到pta上的代码编译错误

+PTA网站验证码即可。
编译错误的解决方案还有就是可以检查缩进是否按照Python的语法进行了,如果报错行紧邻着函数,检查函数是否缺失了语句。

Ⅱ 这个程序在DEV C++上可以运行并出现正确结果 但是提交到PTA就会报错!请赐教!

当 C 语言程序能够正常编译并运行,但可能结果可疑或不对时,即,当程序没有语法错误而可能有逻辑错误时,就需要考虑使用调试Debug功能来找出程序的 bug。



在调试过程中,可以让程序运行到设置好的断点处并暂停下来,然后通过观察相关的变量值是否正确,来判断程序的逻辑错误可能出现在哪里。



本文以 Dev-C++ 5.11 开发环境为例来说明 C 语言的调试方法。



Ⅲ PTA 4-2 二叉树的基本操作 (10分)

//输入样例:
//ab#c##d##
//输出样例:
//PreOrder:abcd
//InOrder:bcad
//PostOrder:cbda
//LevelOrder:abdc

//a
///
//bd
////
//#c##
///
//##

#include<stdio.h>
#include<stdlib.h>

#defineOK1
#defineERROR0
#defineOVERFLOW-2

typedefintStatus;
typedefcharTElemType;

typedefstructBiTNode
{
TElemTypedata;
structBiTNode*lchild;
structBiTNode*rchild;
}BiTNode,*BiTree;

/////////////////////////////////
typedefBiTNode*QElemType;

typedefstructQNode
{
QElemTypedata;
structQNode*next;
}QNode,*QueuePtr;

typedefstruct
{
QueuePtrfront;
QueuePtrrear;
}LinkQueue;

StatusInitQueue_L(LinkQueue&Q)
{
Q.front=(QueuePtr)malloc(sizeof(QNode));
if(Q.front==NULL)
returnOVERFLOW;
Q.front->next=NULL;
Q.rear=Q.front;
returnOK;
}

boolQueueEmpty_L(LinkQueue&Q)
{
return(Q.front==Q.rear);
}

intQueueLength_L(LinkQueue&Q)
{
intcount=0;
for(QNode*p=Q.front->next;p!=NULL;p=p->next)
count++;
returncount;
}

StatusEnQueue_L(LinkQueue&Q,QElemTypee)
{
QNode*s=(QNode*)malloc(sizeof(QNode));
s->data=e;
s->next=NULL;
Q.rear->next=s;
Q.rear=s;
returnOK;
}

StatusDeQueue_L(LinkQueue&Q)
{
QNode*q=Q.front->next;
Q.front->next=q->next;
if(q->next==NULL)
Q.rear=Q.front;
free(q);
returnOK;
}

voidPrintQueue_L(LinkQueue&Q)
{
for(QNode*p=Q.front->next;p!=NULL;p=p->next)
printf("%c",p->data->data);
printf(" ");
}
/////////////////////////////////

voidCreateBiTree(BiTree&T);
voidPreOrder(BiTree&T);
voidInOrder(BiTree&T);
voidPostOrder(BiTree&T);
voidLevelOrder(BiTree&T);

intmain()
{
BiTreeT;

CreateBiTree(T);

printf("PreOrder:");
PreOrder(T);
printf(" ");

printf("InOrder:");
InOrder(T);
printf(" ");

printf("PostOrder:");
PostOrder(T);
printf(" ");

printf("LevelOrder:");
LevelOrder(T);
printf(" ");

return0;
}
//创建二叉树:先序扩展序列+递归法
voidCreateBiTree(BiTree&T)
{
charinput;
scanf("%c",&input);//输入数据
if(input=='#')//'#'是空节点
{
T=NULL;
}
else
{
T=(BiTree)malloc(sizeof(BiTNode));
if(T==NULL)
{
printf(" 分配动态内存时出错. ");
exit(1);
}
T->data=input;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}

voidPreOrder(BiTree&T)//先序遍历
{
if(T!=NULL)
{
printf("%c",T->data);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
}

voidInOrder(BiTree&T)//中序遍历
{
if(T!=NULL)
{
InOrder(T->lchild);
printf("%c",T->data);
InOrder(T->rchild);
}
}

voidPostOrder(BiTree&T)//后序遍历
{
if(T!=NULL)
{
PostOrder(T->lchild);
PostOrder(T->rchild);
printf("%c",T->data);
}
}

voidLevelOrder(BiTree&T)//层序遍历
{
LinkQueueQ;
BiTreep=T;
if(p==NULL)
{
return;
}
InitQueue_L(Q);
EnQueue_L(Q,p);
while(!QueueEmpty_L(Q))
{
p=Q.front->next->data;
DeQueue_L(Q);
printf("%c",p->data);
if(p->lchild!=NULL)
{
EnQueue_L(Q,p->lchild);
}
if(p->rchild!=NULL)
{
EnQueue_L(Q,p->rchild);
}
}
}

Ⅳ 在VS上正常运行,为什么在pta上就显示部分错误,用c++编译的

我看了一下图中的PAT的题,研究了一下。
在VS上当然能正常运行(你这个程序本身就没有编译错误嘛),但是算法出现了问题。不应该用do while循环,因为do while循环总会执行一次,举个例子,假设输入的为1,那么将会造成结果为2(实际为0)。所以应当用while循环。
还有就是那个开头判断输入是否越界的if不用写,因为测试输入永远是按照题意的,不会出界。
这是改进后的代码(测试了可以全对):
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int j = 0;
while (n != 1)
{
int i = n % 2;
if (i == 0)
{
n = n / 2;
}
else
{
n = (n * 3 + 1) / 2;
}
j++;
}
cout << j << endl;
return 0;
}

Ⅳ PTA运行错误及G++与clang++区别

你的程序有一个大BUG,能正常运行只是你的运气问题(与环境/编译器有关的,所以clang++可以有正确结果)
问题主要在
str2[k]=str1[i];
你的str2没有申请内存(它缺少会有一定空间的,所以程序能运行)
你改为
str2+=str1[i];
就可以了

Ⅵ 求助PTA L1-025 正整数A+B,C++提交后显示格式错误,求解哪里错了

我在PTA网站上测试了你的代码,没问题。

应该是编译器选的不对,你选成g++。

#include<iostream>
#include<string>
usingnamespacestd;

intmain(){
//输入,一行读取,按照空格拆分
stringinput_str;
getline(cin,input_str);

intindex=input_str.find('');
stringinput_str1=input_str.substr(0,index);
stringinput_str2=input_str.substr(index+1,input_str.length()-input_str1.length());
if(input_str1.empty())input_str1="?";
//cout<<input_str1<<"aaa"<<endl;
//cout<<input_str2<<"bbb"<<endl;

boolflag1=true;
boolflag2=true;
//判断
for(autoch:input_str1)
{
if(!isdigit(ch))
{
flag1=false;
input_str1="?";
break;
}
}

for(autoch:input_str2)
{
if(!isdigit(ch))
{
flag2=false;
input_str2="?";
break;
}
}

//计算
if(flag1&&flag2)
{
inta=atoi(input_str1.c_str());
intb=atoi(input_str2.c_str());
if(a<1||a>1000)
cout<<"?"<<"+"<<input_str2<<"="<<"?"<<endl;
elseif(b<1||b>1000)
cout<<input_str1<<"+"<<"?"<<"="<<"?"<<endl;
else
cout<<input_str1<<"+"<<input_str2<<"="<<a+b<<endl;
}
else
{
cout<<input_str1<<"+"<<input_str2<<"="<<"?"<<endl;
}

system("pause");
return0;
}

Ⅶ 为什么我c语言里面运行结果正确,到pta里面就说编译错误

不同语言语法规则不一样,甚至不同编译器语法规则都不一样。

Ⅷ 忽略scanf的返回值要怎么改pta

摘要 把scanf改成:scanf_s

Ⅸ 这个程序在putty里编译就可以运行,但不知道为什么在浙大的PTA平台上不可以。求解答,谢谢大家。

答案错误,不是程序编译不了,仔细审题,肯定你的程序在输入输出上面和要求不符合。

Ⅹ 在PTA上做题scanf函数总是出现这样的问题,请高手指教

这个代码在其它在线编译的网站是可以正常运行的,可能跟默认的编译器设置有关。你这个警告应该是指scanf的返回值没有使用,你可以把scanf的结果赋下值试试,如下代码:

intr=scanf("%d%d%d%d",&a,&b,&c,&d);

其它网站执行结果正常

另外PTA的读者验证码从哪里得到?

阅读全文

与pta出题编译工具相关的资料

热点内容
华为mml命令查看用户量 浏览:905
场论朗道pdf 浏览:369
如何使用qtquick编译器 浏览:46
山西高配服务器云服务器 浏览:740
为什么编译按f9没反应 浏览:118
购物app都适合买什么东西 浏览:273
savetxt函数python 浏览:573
编译器小端改大端 浏览:638
华为安卓哪些文件夹能删除 浏览:402
手机samp服务器地址 浏览:205
phpformat函数 浏览:563
单片机由线 浏览:591
如何查找方舟编译过的app 浏览:897
青山有什么做算法的公司 浏览:568
硬件编译原理图 浏览:162
程序员技术总监 浏览:72
程序员网易云报告 浏览:463
studio编译功能在哪里 浏览:242
空气压缩机尺寸 浏览:988
sockethttpsphp 浏览:488