導航:首頁 > 源碼編譯 > 編程題運行編譯出結果

編程題運行編譯出結果

發布時間:2022-03-03 21:00:17

❶ 計算機二級C上機考試中的編程題經過編譯會有結果出來嗎為什麼我只有程序對錯,卻沒有最後結果

你用的是TC2.0嗎?
如果是的話,先保證你程序沒有錯誤。
程序運行完後會自動關閉窗口的,而且很快,你看不到的,實際上他已經運行完了。
在程序最後加上一句 getch(); 就可以看到運行結果了。

如果是VC6.0,就可能是其他原因。

❷ 全國C語言二級考試編程題為什麼點了編譯運行不出結果

你程序寫的問題,你把程序掛上來啊 寫代碼一句寫不好都有可能不出結果也不顯示錯誤 這是很正常的事

❸ 全國計算機二級c語言,最後一道編程題,已經編譯運行出正確結果了,但後來又輸入其他數字運行了有分嗎

摘要 您好,我正在幫您查詢相關的信息,馬上回復您。

❹ 計算機二級c語言上機三道題都編譯運行出結果,而且結果都正確了為什麼還沒過

全國計算機等級考試二級c的程序題共有三道,分別是填空、改錯、編程,分值方面填空佔18分,改錯18分,編程24分,總分60分。而卷面總分(選擇+程序)60分以上,才會判定成績就合格,才能夠領到證書。

各題詳細答題方式和評分准則如下:

1、填空題:
答題方式:
在指定位置,也就是標記有類似
/********************found*************************/
for(i=0; ____1____ ; i++)
這種位置作答。
答題時,將「____1____」雙引號內的部分完全刪除,然後把作答的答案填補進去,也就是「將類似__1__這種位置標記替換為作答的答案」。

題面會給出「例如輸入***數據,得到***數據」的註解,可以藉此編譯運行程序,通過輸入和輸出的結果來判定程序是否正確。

評分准則:
填空題的評分准則並非以程序本身「能否正確運行」為准則,而是通過類似」對比答題的程序文本與命題組答案,逐行按比例給分「的方式來評分,也就是很多人所謂的「逐項(或逐個答題位置給分)「。

上述描述信息量過大,下面舉例說明:
①題面有明文要求,只允許在指定位置作答,不許添加或刪除空格、回車之類的字元,不許增減程序代碼行數,更不許改動題面的程序原始代碼。

例如:
題面如下:
int i,j,sum=0;
/**************found********************/
for(i=0; __1__ ;i++) //假設答案應為i<10或其他等價寫法
sum+=i;

答題後排版如下:
int i,j,sum=0;
/**************found********************/
for(i=0; i<10 ;i++) sum+=i; //注意這里刪除了一個回車符

卷面要求對應行數(第3行)應為
for(i=0; i<10 ;i++)
評分時判定該行內容為
for(i=0; i<10 ;i++) sum+=i;
文本與命題組答案不符,故該處答案不予給分。
同時,由於更改了行數,後續程序文本均會受影響,從而影響正常得分。

②關於上文中所謂的「命題組答案」
仍以
int i,j,sum=0;
/**************found********************/
for(i=0; __1__ ;i++) //假設答案應為i<10或其他等價寫法
sum+=i;
為例。

正確答案應該是i<10或其他等價寫法,那麼命題組會將各種「正常的」寫法作為命題組答案編撰以供評分。依舊舉例說明,等價寫法包括:
i<=9
i<9+1
i<=10-1
後續有無數種寫法就不一一例舉了
明顯只有i<10和<=9是正常寫法,後續寫法都過於奇葩,故此處在考試時只有寫入i<10或<=9才會得到正常的分數,其他寫法均不給分。

另外,這里無需擔心,命題組很貼心的將各種常見寫法都納入到」命題組答案「中,只要不是過於特立獨行的答案,均會在考試中得到本該有的分數。

總結:
填空題,在程序能夠「運行出正確的答案」,並且沒有違反①和②所強調的事項,均會得到本該有的分數。
①項通常不會違反,被此項影響得分的人數很少
②項不管是考試還是練習,在」能夠運行處正確的答案「前提下依舊丟分的幾乎全都是因為此項。
例如考試時,答案過於特立獨行,將i=i+1;寫成i=i+3-2;
而市面上絕大多數的等考模擬軟體,鑒於各種原因,都沒有使用」命題組答案「給出的姑且稱為」正確答案庫「的答案范圍,而是每個位置只給出一種在該模擬軟體中可以得分的答案寫法,其他」考試時將會正常得分「的答案寫法,造成考試時能夠得分但是在使用這些模擬軟體時均得不到分數的情況,也就是學生們經常詢問的問題:
」老師,i=i+1;和i+=1;不是一樣嗎?為什麼這道題寫i=i+1;才給分,另一道題只有寫i+=1;才給分?「

2、改錯題:
答題方式和評分准則完全等同與填空題,不再重復敘述

3、程序編寫,即俗稱的編程題:
答題方式:
題目中有明確敘述,要求書寫程序的某一部分,以實現題目要求的功能。通常要求書寫的位置是某個指定函數的函數體,或者部分主函數的函數體,代碼量6-10行左右。

評分准則:
編程題,評分依據是」能夠運行出正確的結果「,即評分依據有兩個關鍵點,一是運行,二是結果正確。
此題評分准則依舊是跟」命題組答案「對照,依舊是對比文本後逐行按比例給分,而命題組答案在此題中將會是唯一的。
編程題的評分依據,是程序編譯運行後得到的一個所謂的」out文件「,該文件在考生文件夾下,由編程運行時產生,文件名中通常帶有」out」字樣,各題具體的文件名,查看編程題中調用fopen函數時所書寫的文件名就可以確認。
例如某題面中存在如下語句:
fopen(fp,"out.dat",w);
那麼該題目對應的評分依據就是對應考生文件夾下的名為「out.dat」的文件。

編程題的評分,是將out文件的內容與命題組答案對比,逐行按比例給分。

影響得分的項目如下:
①程序存在error,無法通過編譯:
無法編譯,就無法運行。沒有運行,就不會產生out文件。沒有out文件,那麼將會得到「指定文件未找到」的錯誤,此題判0分。
另外還有一點要注意,有個別模擬軟體曾經出現過,題目中指定文件名為"out.dat",但是題面程序代碼中創建的卻是"ps35.out",造成「指定文件未找到」判0分的情況。這屬於模擬軟體的bug,不會在考試中發生。

②程序通過編譯且能夠運行,但是代碼本身存在bug。
舉個例子,寫程序找出1-15之間的素數。
命題組給出的out文件內容如下:
2
3
5
7
11
13
一共6行,因為編程題總分24分,所以每行佔4分。
如果考生答題過程中程序書寫沒有錯誤的話,一定會得到跟命題組內容與格式完全一樣的答案(文件的書寫由題面的fprintf函數負責,不允許考生改動,故文件格式是已經被指定的),將會得到滿分24分。
如果代碼有誤,程序判定過程中將7判定為非素數,得到的out文件內容與命題組答案對比及評分細則如下:
2 2 匹配,得4分
3 3 匹配,得4分
5 5 匹配,得4分
7 11 不匹配,得0分
11 13 不匹配,得0分
13 不匹配,得0分
故此題得分僅12分。
如果上述數值均正確判斷,但是錯誤的將1判斷為素數,out文件內容如下:
1
2
3
5
7
11
13
結果可想而知,逐行判定,最終肯定判0分。
額外要說明的是,大部分模擬軟體,不會進行逐行按比例給分,而是一旦out文件內容與命題組答案」不完全匹配「,直接判0分,而考試時一定是逐行按比例給分的,這點無需擔心。

③程序書寫正確無bug,但是改動過程序命令禁止改動的其他部分,例如fprintf函數,請參考②

總結:由於②導致該題丟分的幾率是最高的,一定要小心再小心。代碼出現問題時,別心急。很多時候,將已經書寫完畢的代碼整體刪掉,重新書寫,是最省事省力的解決bug的方案。

最後,補充一點,萬一程序原始結構被破壞,別著急,不要冒險關閉vc6,只要按下ctrl+z組合鍵,就能逐步恢復之前的樣式。因為ctrl+z組合鍵的功能是」撤銷「

❺ 一個C語言編程題,已經通過編譯,運行報錯~求解

在Main函數的第六行,scanf("%f",&stu[i].scroe);
必須加上取地址符號

❻ 編程題寫出程序運行結果

屏幕上應該顯示「算機」,隨後進入死循環。

這個程序缺少結束條件

❼ 編程題運行編譯出結果了,但沒有生成dat文件,怎麼回事,會不會得分

保存了就沒問題了,不管保存幾次。至於你說的填空和改錯,我當時考的時候好像不要求有結果吧,填出來就行了,那樣保存了你的答案應該就沒問題了

❽ C++編程問題,程序能成功編譯,但是不出結果

整體思路沒有錯,但是LeapYearNumber函數錯誤,FOR循環下多了套大括弧,而且你參數的傳遞方法和返回值的傳遞方法弄錯了,兄弟,基礎要打牢呀,正確的應該如下:(我編譯運行測試過了,你的注釋我去掉了,因為改的地方我加了注釋,你注意比較)

#include<iostream.h>
int LeapYearNumber(int a);
int month_day_run(int month_day);
int month_day_ping(int month_day);

int LeapYearNumber(int a)
{
int i=0,j,k;
for(j=1;j<a;j++)//循環去掉一層大括弧,不然第一次循環就return了
{
if((j%4==0)&&(j%100!=0)||(j%400==0))
i++;
}
k=i;
return k;
}

int month_day_run(int month_day)
{
int b,B;
{
switch(month_day)//使用傳入的參數進行switch
{
case 1:B=0;break;
case 2:B=31;break;
case 3:B=60;break;
case 4:B=91;break;
case 5:B=121;break;
case 6:B=152;break;
case 7:B=182;break;
case 8:B=213;break;
case 9:B=244;break;
case 10:B=274;break;
case 11:B=305;break;
case 12:B=335;break;
}
}
month_day=B;
return month_day;
}

int month_day_ping(int month_day)
{
int b,B;
{
switch(month_day)//使用傳入的參數進行switch
{
case 1:B=0;break;
case 2:B=31;break;
case 3:B=59;break;
case 4:B=90;break;
case 5:B=120;break;
case 6:B=151;break;
case 7:B=181;break;
case 8:B=212;break;
case 9:B=243;break;
case 10:B=273;break;
case 11:B=304;break;
case 12:B=334;break;
}
}
month_day=B;
return month_day;
}

void main()
{
int a,b,c,month_day,k; //輸入數據
cout<<"請輸入年月日(空格分隔):";
cin>>a>>b>>c;
if((a%4!=0)&&(a%100!=0)||(a%400!=0))
{
month_day=month_day_ping(b);//注意參數和返回值的傳遞
}
if((a%4==0)&&(a%100!=0)||(a%400==0))
{
month_day=month_day_run(b);//注意參數和返回值的傳遞
}
k=LeapYearNumber(a);//注意參數和返回值的傳遞
int total_day,date;
total_day=k*366+((a-k)*365)+month_day+c-1;
date=total_day%7;
switch(date)
{
case 0:cout<<"這天是星期日!"<<endl;break;
case 1:cout<<"這天是星期一!"<<endl;break;
case 2:cout<<"這天是星期二!"<<endl;break;
case 3:cout<<"這天是星期三!"<<endl;break;
case 4:cout<<"這天是星期四!"<<endl;break;
case 5:cout<<"這天是星期五!"<<endl;break;
case 6:cout<<"這天是星期六!"<<endl;break;
}
cin>>a;//為了暫停好查看結果
}

❾ c語言二級考試上機編程題是不是運行出的結果和題目中的舉例相同就會得分編譯都通過的,沒有語法錯誤。

二級C上機編程考試,寫完子函數之後,要進行Compile編譯,無錯誤,再運行,出現黑屏後,參照題目給的實例輸入,如果和其一樣,就證明你做對了,否則,重新修改程序代碼,直到正確為止。確認無誤後,就可以得到24分了。

閱讀全文

與編程題運行編譯出結果相關的資料

熱點內容
命令方塊指令冰封劍 瀏覽:784
android中so文件 瀏覽:276
手工用氣球做的捏捏樂解壓神器 瀏覽:196
app升級後就閃退怎麼辦 瀏覽:35
手錶上的樂塗app怎麼下載 瀏覽:721
程序員身上的六宗罪是什麼 瀏覽:145
游戲編程精粹6 瀏覽:69
修復ie的命令 瀏覽:602
linux伺服器怎麼查看地址 瀏覽:65
底部異地持倉源碼 瀏覽:105
加密應用手機 瀏覽:798
程序員考試考什麼科目 瀏覽:485
程序員必備文檔編輯 瀏覽:960
踩水果解壓大全 瀏覽:634
什麼是dk伺服器在 瀏覽:461
nusoapphp下載 瀏覽:929
黑莓原生解壓rar 瀏覽:956
百度解壓縮在哪 瀏覽:788
硬解壓卡怎麼用 瀏覽:183
新買的聯想伺服器怎麼配置 瀏覽:757