計算機三級網絡技術上機考試題
離2016年第一次計算機考試只有一個月了,同學們的網絡技術複習得怎麼樣了呢?下面本站小編為大家準備了最新的網絡技術上機考試題,希望能幫助到大家!
第一題
下列程序的功能是:將大於整數m且緊靠m的k個素數存入數組xx。請編寫函數num(int m,int k,int xx[ ])實現程序的要求,最後調用函數readwriteDAT( )把結果輸出到文件中。
例如,若輸入17,5,則應輸出19,23,29,31,37。
注意:部分源程序已給出。
請勿改動主函數main()和輸入輸出函數readwriteDAT()的內容。
試題程序:
#include
#include
void readwriteDAT();
void num(int m,int k,int xx[])
{
}
void main()
{
int m,n,xx[1000];
system("CLS");
printf("nPlease enter two integers:");
scanf("%d,%d",&m,&n);
num(m, n, xx);
for(m=0;m printf("%d ",xx[m]);
printf("n");
readwriteDAT();
}
void readwriteDAT()
{
int m, n, xx[1000],i;
FILE *rf,*wf;
rf=fopen("","r");
wf=fopen("","w");
for(i=0;i<10;i++)
{
fscanf(rf,"%d %d",&m,&n);
num(m,n,xx);
for(m=0;m fprintf(wf,"%d ",xx[m]);
fprintf(wf,"n");
}
fclose(rf);
fclose(wf);
}
【參考答案】
void num(int m,int k,int xx[])
{
int i,half,cnt=0; /*定義變量cnt來統計已經取得的素數個數*/
int data=m+1; /*從大於整數m的'數開始找*/
while(1) /*循環條件始終為真,所以是無條件循環*/
{
half=data/2; /*求出當前數的一半,判斷素數*/
for(i=2;i<=half;i++)
/*如果該數依次除以從2到其一半的整數,餘數都不是0,則該數是素數*/
if(data%i==0) /*如果餘數為0*/
break; /*則退出循環,取下一個數判斷*/
if(i>half)
{
xx[cnt]=data; cnt++; /*確定該數為素數後,將該數存入數組xx中,並累計素數的個數*/
}
if(cnt>=k) break; /*如果累計素數的個數超過了要求的個數,則退出循環*/
data++; /*如果累計素數的個數小於要求的個數,則繼續取下一個數*/
}
}
【解析】在本題中,首先要結合相關數學知識找出判定一個數是否為素數的方法,從而對數據進行篩選。如果數a依次除以從2到a/2的整數,餘數都不是0,則該數是素數。將符合條件的數存入數組xx中,使用計數器變量cnt來統計已經取得的數的個數。當cnt的值小於等於k時,即表示所獲得素數的個數已經達到了要求,循環停止。
第二題
下列程序的功能是:在三位整數(100至999)中尋找符合條件的整數並依次從小到大存入數組中;它既是完全平方數,又是兩位數字相同,例如144、676等。請編制函數實現此功能,滿足該條件的整數的個數通過所編制的函數返回。最後調用函數writeDat()把結果輸出到文件中。請勿改動主函數main()和寫函數writeDat()的內容。
#include
int jsvalue(int bb[])
{
}
main
{
int b[20],num;
num=jsvalue(b);
writeDat(num,b);
}
writeDat(int num,int b[])
{
FILE *out;
int i;
out=fopen("","w");
fprintf(out,"%dn",num);
for(i=0;i
fclose(out);
}
-------------------------------------
注:注意在i==(int)sqrt(i)*(int)sqrt(i)中只有當i是完全平方數時開平方後再取整才不會丟失任何數據。
int jsvalue(int bb[])
{
int i,j,k=0,g,s,b;
for(i=100;i<=999;i++)
{
g=i;
s=i/10;
b=i/100;
if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s//s==b//b==g))
bb[k++]=i;
}
return k;
}
int jsvalue(int bb[])
{
int i,k=0;
for(i=100;i<=999;i++)
if((int)sqrt(i)*(int)sqrt(i)==i && (i/100==i || i/100==i/10 || i/10==i))
bb[k++]=i;
return k;
}
-
計算機等考三級網絡技術輔導:微處理器的技術特點
導語:全國計算機等級考試,是經教育部批准,由教育部考試中心主辦,面向社會,用於考查應試人員計算機應用知識與技能的全國性計算機水平考試體系。下面我們來看看計算機等考三級網絡技術輔導:微處理器的技術特點微處理器的技術特點微處理器的主流芯片一直是英特爾體系結...
-
2016計算機三級網絡技術上機題及答案
編寫函數jsValue(),它的功能是求Fibonacci數列中大於t的最小的一個數,結果由函數返回,其中Fibonacci數列F(n)的定義為:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)最後調用函數writeDat(),把結果輸出到文件中。例如:當t=1000時,函數值為1597。注意:部分源程序已給出。請勿改動主函...
-
計算機等考三級網絡技術輔導:認證技術
認證技術;消息認證、數字簽名、身份認證。1、消息認證(驗證消息是否來自發送方並未經修改)(1)消息認證的概念:接收者能夠檢驗收到的消息是否真實的方法,又稱消息完整性校驗。認證的內容包括:消息的信源信宿、內容是否篡改,消息的序號和時間是否正確等。認證只在通...
-
2015計算機三級《網絡技術》複習重點:計算機病毒與防護
1、計算機病毒計算機病毒是一段可執行代碼,是一個程序。它不獨立存在,隱藏在其他可執行程序中,具有破壞性、傳染性和潛伏性。(1)病毒的生命週期:潛伏階段:病毒處於休眠狀態,最終要通過某個事件來激活。繁殖階段:將與自身相同的副本放入其他程序或磁盤的.特定區域中。...