導航:首頁 > 源碼編譯 > pta編譯錯誤為空

pta編譯錯誤為空

發布時間:2022-02-12 10:49:44

⑴ 關於PTA裡面程序設計的問題,題目簡單,細節太嚴,真不知道哪裡出錯了!求大佬解答!

很明顯 你沒有按照要求去做:

  1. 輸入格式:輸入在第一行給出兩個整數A和B(-100≤A,B≤100),數字間以空格分隔。

    應該是

    int a=-200,b=-200;

    while(a>100 || b >100 || a<-100||b<-100)

    {

    scanf("%d %d",&a,&b);

  2. }

  3. 輸出格式:在一行中輸出A乘以B的值。

    應該是printf("%d ",a*b);

⑵ pta的題自己代碼運行答案沒問題,提交顯示段錯誤,請高手指出錯誤

錯誤原因是,他要求輸入最多1000個整數,所以a數組開小了
數據的范圍也不是0~99所以b數組開100也不對
正確方法是,把a數組開到1000大小,排序然後統計,排完序後,同樣的數一定挨在一起
這樣就可以順序的統計了

⑶ 字元串輸入%s 和char不匹配 pta的題,在codeblocks上可以運行但是報警告在提交代碼報編譯錯誤

char 對應 %c

~~~~~~~~~~~~

⑷ PTA中C語言編程問題(答案沒有給我滿分,請幫我指出一下我程序的錯誤)

#include<stdio.h>
intmain()
{
intn,a[11],i,temp,j;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(j=0;j<n;j++)
for(i=0;i<n-j-1;i++)//改了下這里當i=n-1時i+1就越界了,所以i<n-j-1
if(a[i]<a[i+1])
{temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
for(i=0;i<n-1;i++)
printf("%d",a[i]);
printf("%d",a[i]);
return0;
}

⑸ 題目如下圖,我的代碼運行是沒錯的可是提交上pta上就提示段錯誤!,代碼如下,請指出錯誤,謝謝!

#include<iostream>
#include<list>
#include<string>
#include<iterator>
#include<algorithm>
usingnamespacestd;
voidOutPut(chari){
cout<<i;
}
intmain()
{
stringstr;
cin>>str;
list<char>tmp;
for(inti=0;i<str.size();i++)
tmp.push_back(str[i]);
tmp.sort();
for_each(tmp.begin(),tmp.end(),OutPut);
return0;
}

⑹ 為什麼我c語言裡面運行結果正確,到pta裡面就說編譯錯誤

不同語言語法規則不一樣,甚至不同編譯器語法規則都不一樣。

⑺ 這是我寫的代碼,可是提交上pta就會顯示格式錯誤請問我有什麼錯了嗎,應該怎樣改善

#include<stdio.h>
#include<math.h>

intmain()
{doublea,b,c,d,e,f;
scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&e,&f);
doubleAB,BC,AC,ab,bc,ac;
ab=(a-c)*(a-c)+(b-d)*(b-d);
bc=(c-e)*(c-e)+(d-f)*(d-f);
ac=(a-e)*(a-e)+(b-f)*(b-f);
AB=sqrt(ab);
BC=sqrt(bc);
AC=sqrt(ac);
if((AB<BC+AC)&&(BC<AB+AC)&&(AC<AB+BC))
{
doublel=AB+BC+AC;
doubleP=l/2;
doubles=sqrt(P*(P-AB)*(P-BC)*(P-AC));
printf("L=%.2f,A=%.2f",l,s);}//這里好像沒有換行
else
{printf("Impossible");
}
return0;
}

⑻ c++這題為什麼在PTA上一直錯誤

我感覺for循環i應該是小於x,而不是小於等於x

⑼ 在PTA平台上,顯示答案錯誤,哪出了問題

這里錯了吧

⑽ 在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編譯錯誤為空相關的資料

熱點內容
虐殺原形1壓縮 瀏覽:199
如何去掉安卓系統的通知 瀏覽:999
解壓好的游戲如何打開 瀏覽:508
微商輔助app哪個最好 瀏覽:943
為什麼用雲伺服器下載東西那麼快 瀏覽:786
java數據結構和演算法視頻教程 瀏覽:120
java上傳多個文件 瀏覽:166
php搭建工具 瀏覽:307
安卓怎麼下載百度外來應用 瀏覽:62
什麼app可以查看全國疫情數據 瀏覽:823
python反編譯工具 瀏覽:222
qt演算法模擬 瀏覽:360
查看uuid的命令 瀏覽:50
強光抑制演算法 瀏覽:14
u盤加密後能拷貝嗎 瀏覽:889
asus帶命令提示的安全模式 瀏覽:1004
php截取字元串指定 瀏覽:248
lxe加密視頻怎麼設置 瀏覽:607
php數組刪除第一個元素 瀏覽:167
安卓指示器怎麼使用 瀏覽:572