① 關於C語言OJ提交問題
有這樣幾種情況:1.不同的編譯器對變數的作用范圍定義不同,所以建議將例如for()條件內定義的變數全部在main()函數內定義;2.大部分OJ只支持標准C庫,所以在編譯器上可用的一些函數在OJ上會無法識別;暫時只想到這么多,希望有所幫助
② 萌碼oj總提示編譯錯誤 各位幫忙看下
getch函數需要conio.h頭文件,另外最好吧main函數聲明為int類型,並在最後加return 0;這是規范,注釋給出修改位置
#include<stdio.h>
#include<conio.h>///////////getch
intmain()///////////////
{
inthight[3];
intt;
inti,j;
scanf("%d%d%d",&hight[0],&hight[1],&hight[2]);
for(i=0;i<3;i++)
{
for(j=i+1;j<3;j++)
{
if(hight[i]<hight[j])
{
t=hight[i];hight[i]=hight[j];hight[j]=t;
}
}
}
if(hight[0]<=50)
{
printf("NOCRASH ");
}else{
for(i=0;i<=2;i++)
{
if(hight[2-i]>50)
{
printf("CRASH%d ",hight[2-i]);break;
}
}
}
//getch();/////////////////
return0;/////////////////////
}
③ 南陽理工OJ第一題A+B problem 用java編程在eclipse上能運行正確,為什麼在OJ上提交時總是CompileError!
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int a = cin.nextInt(), b = cin.nextInt();
System.out.println(a + b);
}
}
用這個試試
④ 急!C語言,一個題目,DEV C++編譯沒錯,上交OJ後編譯錯誤!
1、函數沒有返回值。
2、sqrt()沒有聲明。可能是頭文件<math.h>不同吧。
⑤ OJ說編譯錯誤,哪有問題 #include<stdio.h> struct ST { i
原題應該是:有下列程序:#includestructtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main(){inti;p=a;for(i=1;ix);p=p->y;}}程序的運行結果是()。A)20,30,B)30,17C)15,30,D)20,15,正確答案:D解析:題目中定義了一個全局結構體數組a,結構體中包含兩個成員:一個int型變數x和一個自身類型指針y。所以,結構體數組a的初始化列表中每兩個初始化一個結構體元素。主函數通過一個for循環,連續調用了兩次輸出函數printf(),每次輸出p所指元素的x成員值。p初始化時指向數組a的首地址,即a[0]的位置,所以第1次輸出的值為20。然後又將a[0]的成員y的值賦給p,y在初始化時是a+1,所以p在第2次輸出時指向的元素是a[1],故第2次輸出的值為15。所以本題最終輸出結果是「20,15,」,應該選擇D。
⑥ oj編譯錯誤
函數里又定義其他函數,哪個編譯器上都不可能通過。
⑦ oj錯誤67%
輸出不符合題目要求的格式。
網路語言oj是信息學在線評測平台。OJ是OnlineJudge系統的簡稱,用來在線檢測程序源代媽的正確性。OJ系統能夠編譯並執行代碼,使用預設的數據對這些程序進行測試。提交的代碼一在受限的環境下運行,包括時間限制、內存限制、安全限制等。
OJ系統最初使ACM-ICPC國際大學生程序設計競賽和OI信息林匹克競賽中的自動判題和排名。現廣泛應世界各地高校學生程序設計的訓練、參賽隊訓練和選拔、各種程序設計競賽以及數據結構和演算法的學習和作業的自動提交判斷中。
⑧ 在浙大OJ系統提交代碼一直出現Segmentation Fault!!!!!!!
C的數組下標從0開始,charstr[20]的最後一個元素是str[19]scanf("%s",str1[20]);printf("%s\n",str2[20]);if(str1[20]==str2[20]){這幾句都越界訪問內存了,會產生一個SIGSEGV信號引發段錯誤
⑨ DEVC++編譯無error,但OJ說編譯錯誤,哭遼,求大佬指教
原因很簡單,如果是c++的話,你沒有加using namespace std;
加在#include後面,不加oj就會判錯。
就像我把#include <bits/stdc++.h>寫成了#include <bits\stdc++.h>(斜杠寫反了,有一次手誤),dev的確不會報錯,我放到oj上就一直編譯錯誤。
⑩ 杭電oj1240,我覺得程序是對的,也能運行,但是OJ上編譯錯誤,求解
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int n,i=0,sum[100],loop=0,j=0,loob[100],t=0,m=1;
printf("請輸入行數(回車結束):\n ");
scanf("%d",&n);
j=n;
while(n--)//while做到任意輸入。
{
printf("第%d行:\n ",m++);
for(;;i++)
{scanf("%d",&sum[i]);
loop++;//標記
if (getchar()=='\n')
{i++;
break;}
}
{loob[n]=loop;//保存標記。
loop=0;}
}
for(m=1;j>0;j--)
for(;t<i;t++,m++)//使用標記。
{printf("%d ",sum[t]);
if(m==loob[j-1])
{m=1;t++;
printf("\n");
break;}}
//for(;j>0;j--)
//{for(;t<m+loob[j-1];t++)//使用標記。
//printf("%d ",sum[t]);
//m=m+t;
//printf("\n");}
}
//非常完美了。花了我很多時間。 因為不善於寫,也沒看過什麼書,自己想的。 錯了,別急,正在改。 接著排序。 (太復雜了,不寫了。)