導航:首頁 > 源碼編譯 > 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出題編譯工具相關的資料

熱點內容
華夏銀行網銀盾用什麼app 瀏覽:583
單片機棧區 瀏覽:64
直流馬達如何連接5v單片機 瀏覽:261
後綴為win的文件怎麼解壓 瀏覽:802
壓縮包解壓後為什麼一張白紙 瀏覽:585
伺服器和雲盒子 瀏覽:172
python畫cad電氣圖 瀏覽:419
三菱plcfx3sa編程電纜 瀏覽:314
山西視頻加密防盜 瀏覽:839
華為mml命令查看用戶量 瀏覽:907
場論朗道pdf 瀏覽:373
如何使用qtquick編譯器 瀏覽:50
山西高配伺服器雲伺服器 瀏覽:744
為什麼編譯按f9沒反應 瀏覽:122
購物app都適合買什麼東西 瀏覽:277
savetxt函數python 瀏覽:577
編譯器小端改大端 瀏覽:642
華為安卓哪些文件夾能刪除 瀏覽:406
手機samp伺服器地址 瀏覽:209
phpformat函數 瀏覽:567