三級C語言程式設計

三級C語言程式設計

三級C語言程式設計是為了適應現代社會對計算機人才的需要,在大多數大學普及的一門計算機編程初級課程。三級C語言程式設計是C語言的入門課,為學生了解編程,在編程上不斷深入打下基礎。三級C語言程式設計每年有一次考試,每個學校按國家標準獨立設立考場,考試分筆試和機試兩部分,考試通過者發三級C語言計算機證書。

基本介紹

  • 中文名:三級C語言程式設計
  • 性質C語言的入門課
  • 上機環境:Visual C++6.0
  • 上機考試時間: 60分鐘
三級C語言簡介,考試時間,上機環境,題型分類,例題參考,題目,某考生的程式,評分參考,參考程式,

三級C語言簡介

三級C語言程式設計是全國計算機等級考試NCRE三級網路技術資料庫技術信息管理技術上機考試考核內容。一般每次考試題庫由100道C語言程式設計題組成(俗稱“南開百題”)。上機考試時每個考生從百題題庫中隨機抽選一題,在規定的時間內完成其程式設計要求。

考試時間

2009年上半年考試時間定於3月28日至4月1日,下半年為9月19日至23日。一般上午考筆試,上機考試從筆試的當天下午開始,有時是第二天上午。具體見考試通知或考生准考證。
上機考試時間為60分鐘。

上機環境

Visual C++6.0

題型分類

求取給定範圍的多個素數
數位分解後按數位數字篩選統計並排序
三級C語言程式設計
以待定字母分割字元串並重組
按結構體成員進行多關鍵字排序
字元串排序
數據相鄰數篩選統計並排序
字元替換
字元串搜尋
遞推關係求數列值
疊代法求方程的根
對給定範圍內的數進行篩選並統計
判斷迴文數
數值篩選與統計
數位分解並重組後再篩選統計並排序
計算方差
三級C語言程式設計
選票問題
SIX與NINE問題
特殊排序
出圈問題
結構體篩選並排序
字元串循環位移

例題參考

題目

已知數據檔案IN.DAT存有200個四位數,並以調用讀函式readDat()把這些數存入數組a中,請考生編制一函式jsVal(),其功能是:如果四位數 各位上的數字均是0或2或4或6或8,則統計出滿足此條件的個數cnt,並把這些四位數按從大到小的順序存入數組b中。最後main()函式調用寫函式writeDat()把結果cnt以及數組b中符合條件的四位數輸出到OUT.DAT中。
注意:部分程式已給出。
程式中已定義數組a[200],b[200];已定義變數:cnt。
請勿改動數據檔案IN.DAT中的任何數據及主函式main()、讀函式readDat和寫函式writeDat()的內容。
三級C語言程式設計

某考生的程式

(因為此處沒有數據檔案IN.DAT,所以讀者拷貝該程式,編譯能通過,但執行不起來)
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void jsVal()
{
int m,j,k,gg,ss,bb,qq,data;
for(m=0;m<200;m++)
{qq=a[m]/1000;
bb=a[m]%1000/100;
ss=a[m]%100/10;
gg=a[m]%10;
if(qq%2==0&&bb%2==0&&ss%2==0&&gg%2==0)
{
三級C語言程式設計
b[cnt]=a[m];
cnt++;
}
m++;
}
for(j=0;j<cnt-1;j++)
for(k=j+1;k<cnt;k++)
if(b[j]<b[k])
{
data=b[k];
b[k]=b[j];
b[j]=data;
}
}
void readDat()
{
int i;
FILE *fp;
fp = fopen("IN.DAT", "r");
for (i=0; i<MAX; i++)
fscanf(fp, "%d,", &a[i]);
fclose(fp);
}
void writeDat()
{
FILE *fp;
int i;
fp = fopen("OUT.DAT", "w");
fprintf(fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%d\n", b[i]);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf("滿足條件的數=%d\n", cnt);
for (i=0; i<cnt; i++)
printf("%d ", b[i]);
printf("\n");
writeDat();
}
以上運行的結果是
滿足條件的數=4
6662 4602 2668 2264
正確答案應該如下
滿足條件的數=6
6662 6604 4602 2842 2668 2664

評分參考

(一般採用評分軟體評分)
本題共100分。
執行檔 已生成
輸出檔案 存在
第1行數據應為:6 結果不正確;
第2行數據應為:6662 結果正確;
第3行數據應為:6604 結果不正確;
第4行數據應為:4602 結果不正確;
第5行數據應為:2842 結果不正確;
第6行數據應為:2668 結果不正確;
第7行數據應為:2264 結果不正確;
本題共應輸出7行數據,1行結果正確,得14分。
如果所編程式編譯不成功,或者執行檔未生成,直接判0分。因此在上機考試成績中,0分和100分的分布比例比較大。

參考程式

void jsVal()
{
int bb[4];
int i, j, k, flag;
for (i=0; i<200; i++)
{
bb[0] = a[i]/1000;
bb[1] = a[i]%1000/100;
bb[2] = a[i]%100/10;
bb[3] = a[i]%10;
for (j=0; j<4; j++)
{
if (bb[j]%2 == 0)
{
flag = 1;
}
else
{
flag = 0;
break;
}
}
if (flag == 1)
{
b[cnt] = a[i];
cnt++;
}
}
for (i=0; i<cnt-1; i++)
for (j=i+1; j<cnt; j++)
if (b[i] < b[j])
{
k = b[i];
b[i] = b[j];
b[j] = k;
}
}

相關詞條

熱門詞條

聯絡我們