国产女人大黑β片在线观看_国产成人亚洲精品无码Av大片l_亚洲成人无码手机播放_强奸暴虐视频在线观看

您當(dāng)前位置: 唯學(xué)網(wǎng) » 計(jì)算機(jī)等級(jí)考試培訓(xùn) » 三級(jí)專(zhuān)題

計(jì)算機(jī)三級(jí)網(wǎng)絡(luò)技術(shù)上機(jī)模擬題及答案解析

來(lái)源:唯學(xué)網(wǎng)•教育培訓(xùn)(www.career2zoom.com)  【唯學(xué)網(wǎng) • 中國(guó)教育電子商務(wù)平臺(tái)】 加入收藏

2013年的計(jì)算機(jī)等級(jí)考試已經(jīng)在去年9月份結(jié)束了,離2014年上半年計(jì)算機(jī)等級(jí)考試還有2個(gè)月的時(shí)間,需要參加計(jì)算機(jī)考試的考生應(yīng)抓緊時(shí)間復(fù)習(xí),需要提醒的是在復(fù)習(xí)前應(yīng)該了解考試大綱,有重點(diǎn)、有計(jì)劃、有目的的進(jìn)行,小編希望考生都能順利通過(guò)考試。

讀函數(shù)ReadDat()實(shí)現(xiàn)從文件ENG52.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中。請(qǐng)編制函數(shù)encryptChar(),按給定的替代關(guān)系對(duì)數(shù)組xx中的所有字符進(jìn)行替代,仍存入數(shù)組xx的對(duì)應(yīng)的位置上,最后調(diào)用寫(xiě)函數(shù)WriteDat()把結(jié)果xx輸出到文件PS52.DAT中。

替代關(guān)系:f(p)=p*11 mod 256(p是數(shù)組xx中某一個(gè)字符的ASCII值,f(p)是計(jì)算后新字符的ASCII值),如果計(jì)算后f(p)的值小于等于32或f(p)對(duì)應(yīng)的字符是小寫(xiě)字母,則該字符不變,否則將f(p)所對(duì)應(yīng)的字符進(jìn)行替代。

注意:部分源程序已給出。

原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符。

請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadDat()和寫(xiě)函數(shù)WriteDat()的內(nèi)容。

試題程序:

#include

#include

#include

#include

unsigned char xx[50][80];

int maxline = 0; /* 文章的總行數(shù) */

int ReadDat(void);

void WriteDat(void);

void encryptChar()

{ }

void main()

{

system("CLS");

if(ReadDat())

{

printf("數(shù)據(jù)文件ENG52.IN不能打開(kāi)!\n\007");

return;

}

encryptChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i = 0;

unsigned char *p;

if((fp = fopen("ENG52.IN", "r")) ==NULL)

return 1;

while(fgets(xx[i], 80, fp) !=NULL)

{

p = strchr(xx[i],'\n');

if(p) *p = 0;

i++;

}

maxline = i;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

fp = fopen("PS52.DAT", "w");

for (i = 0; i < maxline; i++)

{

printf("%s\n", xx[i]);

fprintf(fp, "%s\n", xx[i]);

}

fclose(fp);

}

【答案】

void encryptChar()

{

int i,j; /*定義循環(huán)控制變量*/

int str; /*存儲(chǔ)字符串的長(zhǎng)度*/

char ch; /*存儲(chǔ)當(dāng)前取得的字符*/

for(i=0;i

{

str=strlen(xx[i]); /*求得當(dāng)前行的字符串長(zhǎng)度*/

for(j=0;j

{

ch=xx[i][j] *11%256;

if ((ch>='a' && ch<='z') || ch<=32)

/*如果計(jì)算后的值小于等于32或?qū)?yīng)的字符是小寫(xiě)字母*/

continue;

else

xx[i][j]=ch; /*否則用新字符來(lái)替代這個(gè)字符*/

}

}

}

【解析】本題要對(duì)二維數(shù)組中的字符元素按行來(lái)處理。

首先用strlen()函數(shù)得到當(dāng)前行所包含的字符個(gè)數(shù)。

然后再利用一個(gè)循環(huán)來(lái)依次訪問(wèn)該行中的所有字符。對(duì)于每一個(gè)字符,先按照題目中的函數(shù)替代關(guān)系"f(p)=p*11 mod 256"計(jì)算出相應(yīng)的fp值,再用一條if語(yǔ)句判斷該值是否符合本題給定的條件:"計(jì)算后f(p)的值小于等于32或f(p)對(duì)應(yīng)的字符是小寫(xiě)字母"。如果符合條件,則該字符不變,否則用f(p)所對(duì)應(yīng)的字符對(duì)其進(jìn)行替代。

如若獲知更多關(guān)于計(jì)算機(jī)等級(jí)考試培訓(xùn)的資訊,請(qǐng)隨時(shí)關(guān)注唯學(xué)網(wǎng)計(jì)算機(jī)培訓(xùn)欄目,小編會(huì)為您在第一時(shí)間做出相關(guān)報(bào)道。

0% (0)
0% (10)
已有條評(píng)論
新聞瀏覽排行