第一部分數字問題
關於數字型別的題目,在上機考試中屬於佔比率最大的型別,平均抽中的比率保持在45%以上,所以是在應試複習中需要作為重點。本型別題目重點考查的演算法是:排序,素數,數字拆分。
具體分為6類講解.
一. 數字拆分排序問題
本型別涉及到 6,11,12- 24、88 共15套,需要同學們加強練習。其中第11套,因涉及到數字移位屬於本型別中比較難的題目。
例6. 在檔案中有200個正整數,且每個數均在1000至9999之間。函式readdat()讀取這200個數存放到陣列aa中。
請編制函式jssort(),其函式的功能是:要求按每個數的後三位的大小進行降序排列,然後取出滿足此條件的前10個數依次存入陣列b中,如果後三位的數值相等,則按原先的數值進行公升序排列。最後呼叫函式writedat()把結果bb輸出到檔案中。
例:處理前 9012 5099 6012 7025 8088
處理後 5099 8088 7025 6012 9012
注意:部分源程式已給出。
請勿改動主函式main()、讀資料函式readdat()和輸出資料函式writedat()的內容。
void jssort() /*標準答案*/
else if(aa[i]%1000==aa[j]%1000)
if(aa[i]>aa[j])
}for(i=0;i<10;i++)
bb[i]=aa[i];
}原程式如下:
#include<>
#include<>
#include<>
int aa[200],bb[10];
void jssort()
void main()
readdat()
writedat()
fclose(out);
}14:已知資料檔案中存有200個四位數, 並已呼叫讀函式readdat()把這些數存入陣列a中,請考生編制一函式jsval(),其功能是: 依次從陣列a中取出乙個四位數,如果該數連續大於該四位數以後的5個數且該數是奇數, 則統計出滿足此條件的個數cnt, 並把這些四位數按從小到大的順序存入陣列b中。
並要計算滿足上述條件的四位數的個數cnt。最後main()函式呼叫寫函式writedat( )把結果cnt以及陣列b中符合條件的四位數輸出到檔案中。
注意: 部分源程式存在檔案檔案中。
程式中已定義陣列: a[200], b[200], 已定義變數: cnt
請勿改動資料檔案中的任何資料、主函式main()、讀函式readdat()和寫函式writedat()的內容
void jsval() /*標準答案*/
if (a[i]%2==0)
flag=0;}
if (flag==1)
}for(i=0;ifor(j=i+1;jif (b[i]>b[j])
}。45:已知資料檔案中存有200個四位數, 並已呼叫讀函式readdat()把這些數存入陣列a中,請考生編制一函式jsval(),其功能是:
依次從陣列a中取出乙個四位數,如果該數連續大於該四位數以前的5個數且該數是偶數, 則統計出滿足此條件的個數cnt, 並把這些四位數按從大到小的順序存入陣列b中。 並要計算滿足上述條件的四位數的個數cnt。最後main()函式呼叫寫函式writedat( )把結果cnt以及陣列b中符合條件的四位數輸出到檔案中。
注意: 部分源程式存在檔案檔案中。
程式中已定義陣列: a[200], b[200], 已定義變數: cnt
請勿改動資料檔案中的任何資料、主函式main()、讀函式readdat()和寫函式writedat()的內容void jsval()
/*標準答案*/
if(flag==1)
}for(i=0;ifor(j=i+1;jif(b[i]
}46:已知資料檔案中存有200個四位數, 並已呼叫讀函式readdat()把這些數存入陣列a中,請考生編制一函式jsval(),其功能是: 依次從陣列a中取出乙個四位數,如果該數連續大於該四位數以前的5個數且該數是奇數,但該數必須能被7整除。
則統計出滿足此條件的個數cnt, 並把這些四位數按從大到小的順序存入陣列b中。 並要計算滿足上述條件的四位數的個數cnt。最後main()函式呼叫寫函式writedat( )把結果cnt以及陣列b中符合條件的四位數輸出到檔案中。
注意: 部分源程式存在檔案檔案中。
程式中已定義陣列: a[200], b[200], 已定義變數: cnt
請勿改動資料檔案中的任何資料、主函式main()、讀函式readdat()和寫函式writedat()的內容。
void jsval() /*標準答案*/
}if (flag==1&&a[i]%2==1&&a[i]%7==0)
}for(i=0;ifor(j=i+1;jif(b[i]
}48:已知資料檔案中存有300個四位數,並已呼叫讀函式readdat()把這些數存入陣列a中.請編制一函式svalue(),其功能是:
求出千位數上的數加個位數上的數等於百位數上的數加十位數上的數的個數cnt,再把所有滿足條件的四位數依次存入陣列bb中,然後對陣列bb的四位數按從小到大的順序進行排序,最後呼叫寫函式writedat()把陣列b中的數
輸出到檔案.
例如:6712,6+2=7+1,則該數滿足條件存入陣列bb中,且個數cnt=cnt+1.
8129,8+1<>2+9,則該數不滿足條件忽略.
注意:部分源程式已給出。
程式中已定義陣列:a[300],已定義變數:cnt
請勿改動主函式main()、讀函式readdat()和寫函式writedat()的內容。
void jsvalue() /*標準答案*/
}for(i=0;ifor(j=i+1;jif(b[i]>b[j])
}49:已知資料檔案中存有300個四位數,並已呼叫讀函式readdat()把這些數存入陣列a中,請編制一函式jsvalue(),其功能是:求出千位數上的數減百位數減十位數上的數減個位數上的數大於零的個數cnt,再求出所有滿足此條件的四位數平均值pjz1,以及不滿足此條件的四位數平均值pjz2,最後呼叫寫函式writedat()把結果輸出到檔案。
例如:9123,9-1-2-3>0,則該數滿足條件計算平均值pjz1,且個數cnt=cnt+1。
9812,9-8-1-2<0,則該數不滿足條件計算平均值pjz2.
注意:部分源程式已給出。
程式中已定義陣列:a[300],已定義變數:cnt
請勿改動主函式main()、讀函式readdat()和寫函式writedat()的內容。
期末上機題目 實踐
上機題目 1 建立一工作組me,建立一使用者,使用者名為s 學號,屬於組me,建立相應的密碼,密碼空,並對過程和結果截圖。2 對上面建立的使用者實現磁碟限額,限制為50mbyte,並對過程和結果截圖。3 網路配置,通過修改網絡卡配置檔案,將虛擬linux機的ip位址設定為192.168.1.為win...
資料結構上機題目
第二次 sqlist 順序表 2.11 設順序表va中的資料元素遞增有序。試寫一演算法,將x插入到順序表的適當位置上,以保持該錶的有序性。2.21 試寫一演算法,實現順序表的就地逆置,即利用原表的儲存空間將線性表 a1,a2,an 逆置為 an,an 1,a1 第三次 linklist 單鏈表 2....
C語言上機經典題目 1
c程式設計2 實驗內容 實驗一 迴圈控制 一 1 程式設計計算 s 1 2 2 3 39 40 include main printf s d n s getch 2 程式設計計算 s 1 2 7 include main printf 1 2 3 20 0f n s getch 3 編寫程式,計算...