freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

三級(jí)網(wǎng)絡(luò)技術(shù)機(jī)試100套-資料下載頁(yè)

2025-10-18 14:07本頁(yè)面

【導(dǎo)讀】程序中已定義數(shù)組:a[200],b[200],已定義變量:t。請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)readDat()和寫(xiě)函數(shù)writeDat()的內(nèi)容。點(diǎn)符號(hào)為分隔的所有單詞進(jìn)行倒排。最后把已處理的字符串仍。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格。

  

【正文】 ag=b[i]。 b[i]=b[j]。 b[j]=flag。 } } 【解析】 根據(jù)題意可知,要編制函數(shù)的功能有兩部分:一是找出滿(mǎn)足條件的 4位數(shù);二是對(duì)找出的數(shù)進(jìn)行從小到大排序。首先利用一個(gè) for循環(huán)來(lái)依次從數(shù)組 中取得 4位數(shù),接著用當(dāng)前得到的 4位數(shù)與該數(shù)后面的 5個(gè)數(shù)(可以用循環(huán)次數(shù)來(lái)控制)依次進(jìn)行比較,如果該數(shù)比它后面的 5個(gè)數(shù)都小,則給標(biāo)志變量 flag賦值 1。接著對(duì) flag進(jìn)行判斷,如果不為 1,則該數(shù)肯定不符合條件,直接去取下一個(gè)數(shù);若 flag值為 1,再來(lái)判斷該數(shù)是否是偶數(shù),如果恰好該數(shù)又是偶數(shù),則把該數(shù)加入到數(shù)組 b中。這樣就可以依次取出符合條件的數(shù),然后利用選擇法對(duì) b數(shù)組中的元素進(jìn)行從小到大的排序。 16. 已知文件 100個(gè)產(chǎn)品銷(xiāo)售記錄,每個(gè)產(chǎn)品銷(xiāo)售記錄由產(chǎn)品代碼 dm(字符型 4位)、 產(chǎn)品名稱(chēng) mc(字符型 10位)、單價(jià) dj(整型)、數(shù)量 sl(整型)、金額 je(長(zhǎng)整型)幾部分組成。其中:金額 =單價(jià)數(shù)量。函數(shù) ReadDat()的功能是讀取這 100個(gè)銷(xiāo)售記錄并存入結(jié)構(gòu)數(shù)組 sell中。請(qǐng)編制函數(shù) SortDat(),其功能要求:按產(chǎn)品名稱(chēng)從大到小進(jìn)行排列,若產(chǎn)品名稱(chēng)相同,則按金額從大到小進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組 sell中,最后調(diào)用函數(shù) WriteDat()把結(jié)果輸出到文件 。 注意:部分源程序已給出。 請(qǐng)勿改動(dòng)主函數(shù) main()、讀函數(shù) ReadDat()和寫(xiě)函數(shù) WriteDat()的內(nèi)容。 試題程序: include include include include include define MAX 100 typedef struct { char dm[5]。 /* 產(chǎn)品代碼 */ char mc[11]。 /* 產(chǎn)品名稱(chēng) */ int dj。 /* 單價(jià) */ int sl。/* 數(shù)量 */ long je。 /* 金額 */ } PRO。 PRO sell [MAX]。 void ReadDat()。 void WriteDat()。 void SortDat() { } main() { memset(sell, 0, sizeof(sell))。 ReadDat()。 SortDat()。 WriteDat()。 } void ReadDat() { FILE *fp。 char str[80], ch[11]。 int i。 fp = fopen(, r)。 for(i=0。 i100。 i++) { fgets(str, 80, fp)。 memcpy(sell[i].dm, str, 4)。 memcpy(sell[i].mc, str + 4, 10)。 memcpy(ch, str + 14, 4)。 ch[4] = 0。 sell[i] .dj = atoi(ch)。 memcpy(ch, str +18, 5)。 ch[5] = 0。 sell[i].sl = atoi(ch)。 sell[i].je = (long)sell[i].dj * sell[i].sl。 } fclose(fp)。 } void WriteDat() { FILE *fp。 int i。 fp = fopen(, w)。 for(i = 0。 i 100。 i++) { fprintf(fp, %s %s %4d %5d %10ld\n, sell[i].dm, sell[i].mc, sell[i].dj, sell[i].sl, sell[i].je)。 } fclose(fp)。 } 16. 【答案】 void SortDat() { int i,j。 PRO xy。 for(i=0。iMAX1。i++) for(j=i+1。jMAX。j++) if (strcmp(sell[i].mc,sell[j].mc)0) /*按產(chǎn)品名稱(chēng)從大到小進(jìn)行排列 */ { xy=sell[i]。 sell [i]=sell[j]。 sell[j]=xy。 } else if(strcmp(sell[i].mc,sell[j].mc)==0) /*若產(chǎn)品名稱(chēng)相同,則按金額從大到小進(jìn)行排列 */ if(sell[i].jesell[j].je) { xy=sell[i]。 sell[i]=sell[j]。 sell[j]=xy。 } } 【解析】 本題是有關(guān)結(jié)構(gòu)體數(shù)組的排序問(wèn)題??梢杂眠x擇法來(lái)實(shí)現(xiàn),即用第一個(gè)元素的產(chǎn)品名稱(chēng)依次和它后面的元素的產(chǎn)品名稱(chēng)進(jìn)行比較,如果 發(fā)現(xiàn)當(dāng)前元素的產(chǎn)品名稱(chēng)比后面的某個(gè)元素的產(chǎn)品名稱(chēng)的對(duì)應(yīng)位置的字符的ASCII碼?。ㄟ@里用到了字符串比較函數(shù) strcmp()),則交換這兩個(gè)元素的位置,繼續(xù)和后面的其他元素進(jìn)行比較,最終在第一個(gè)元素中存放的是產(chǎn)品名稱(chēng)最大的元素。以此類(lèi)推,就實(shí)現(xiàn)了從大到小排序的功能。 注意:這里要進(jìn)行交換的是兩個(gè)結(jié)構(gòu)體變量,而不是它們的某一個(gè)域,因此,要借助第三個(gè)結(jié)構(gòu)體變量來(lái)充當(dāng)中間容器。若發(fā)現(xiàn)產(chǎn)品名稱(chēng)是相同的,則要按照金額從大到小進(jìn)行排序。 17. 下列程序的功能是:選出 100~1000間的所有個(gè)位數(shù)字與十位數(shù)字之和被 10除所 得余數(shù)恰是百位數(shù)字的素?cái)?shù)(如 293)。計(jì)算并輸出上述這些素?cái)?shù)的個(gè)數(shù) t,以及這些素?cái)?shù)值的和 sum。請(qǐng)編寫(xiě)函數(shù) countValue()實(shí)現(xiàn)程序要求,最后調(diào)用函數(shù) writeDAT()把結(jié)果 t和 sum輸出到文件 。 注意:部分源程序已給出。 請(qǐng)勿改動(dòng)主函數(shù) main()和寫(xiě)函數(shù) writeDAT()的內(nèi)容。 試題程序: include int t, sum。 void countValue() { } main() { t=sum=0。 countValue()。 printf(素?cái)?shù)的個(gè)數(shù) =%d\n, t)。 printf(滿(mǎn)足條件素?cái)?shù)值的和 =%d, sum)。 writeDAT()。 } writeDAT() { FILE *fp。 fp=fopen(, w)。 fprintf(fp, %d\n%d\n, t, sum)。 fclose(fp)。 } 17. 【答案】 void countValue() { int i,j,half,hun,ten,data。 for(i=101。i1000。i++) { hun=i/100。 /*求百位數(shù)字 */ ten=i%100/10。 /*求十位數(shù)字 */ data=i%10。 /*求各位數(shù)字 */ if(hun==(ten+data)%10) /*如果個(gè)位數(shù)字與十位數(shù)字之和被 10除所得余數(shù)恰是百位數(shù)字,則進(jìn)一步判斷該數(shù)是否為素?cái)?shù) */ { half=i/2。 for(j=2。jhalf。j++) if(i%j==0) break。 if(j=half) {t++。sum+=i。} /*計(jì)算這些素?cái)?shù)的個(gè)數(shù) t,以及這些素 數(shù)值的和 sum*/ } } } 【解析】 本題的解題思路是利用一個(gè) for循環(huán)依次取得 100到 1000之間的數(shù),接著求得當(dāng)前所取得的數(shù)的各個(gè)位上的數(shù)字值,語(yǔ)句 “hun=i/100; ten=i%100/10; data=i%10; ”可以分別取得某數(shù)的百位、十位及個(gè)位上的數(shù)字值,然后判斷該數(shù)個(gè)位數(shù)字與十位數(shù)字之和被 10除所得的余數(shù)是否恰好等于百位上的數(shù)字。如果這個(gè)條件成立,接著去判斷原數(shù)是否是素?cái)?shù),這里,考慮到效率問(wèn)題,可以依次用從 2到該原數(shù)本身一半的數(shù)去除原數(shù),如果原數(shù)能被除盡,則證明該數(shù)肯定不是素?cái)?shù),不需要做 下面的工作,接著去取下一個(gè)數(shù),繼續(xù)判斷。只有同時(shí)滿(mǎn)足上述兩個(gè)條件的數(shù)才是本題所需的數(shù),這時(shí)把該數(shù)累加到變量 sum(滿(mǎn)足條件素?cái)?shù)值的和)中,同時(shí)也給計(jì)數(shù)器變量 t(素?cái)?shù)的個(gè)數(shù))加 1。 18. 函數(shù) ReadDat()的功能是實(shí)現(xiàn)從文件 ,存入到字符串?dāng)?shù)組 xx中;請(qǐng)編制函數(shù) encryptChar(),按給定的替代關(guān)系對(duì)數(shù)組 xx中的所有字符進(jìn)行替代,結(jié)果仍存入數(shù)組 xx的對(duì)應(yīng)的位置上,最后調(diào)用函數(shù) WriteDat()把結(jié)果 xx輸出到文件 。 替代關(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)的字符是數(shù)字 0至 9,則該字符不變,否則將 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 unsigned char xx[50][80]。 int maxline = 0。 /* 文章的總行數(shù) */ int ReadDat(void)。 void WriteDat(void)。 void encryptChar() { } main() { clrscr()。 if(ReadDat()) { printf(數(shù)據(jù)文件 ! \n\007)。 return。 } encryptChar()。 WriteDat()。 } int ReadDat(void) { FILE *fp。 int i=0。 unsigned char *p。 if((fp = fopen(, r)) ==NULL) return 1。 while(fgets(xx[i], 80, fp) !=NULL) { p = strchr(xx[i], 39。\n 39。)。 if(p) *p = 0。 i++。 } maxline = i。 fclose(fp)。 return 0。 } void WriteDat(void) { FILE *fp。 int i。 fp = fopen(, w)。 for(i = 0。 i maxline。 i++) { printf(%s\n, xx[i])。 fprintf(fp, %s\n, xx[i])。 } fclose(fp)。 } 18. 【答案】 void encryptChar() { int i。 char *pf。 for(i=0。imaxline。i++) { pf=xx[i]。 while(*pf!=0) { if((*pf*11%256=39。039。 amp。amp。 *pf*11%256=39。939。) || *pf*11%256=32) {pf++。continue。} /*如果計(jì)算后的值小于等于 32或 f(p)對(duì)應(yīng)的字符是數(shù)字0至 9,則該字符不變 */ *pf=*pf*11%256。 /*否則按給定的替代關(guān)系進(jìn)行替代 */ pf++。 } } } 【解析】 本題主要考查用指針變量來(lái)控制字符數(shù)組,由于要對(duì)已有二維字符數(shù)組的所有元素逐個(gè)處理,因此,需要定義一個(gè)字符指針變量來(lái)控制原二維數(shù)組的各行,當(dāng)前行如果確定下來(lái),用指針的移動(dòng)就可以依次掃描該行的所有字符元素,每得到一個(gè)字符就對(duì)它行條件判斷,根據(jù)題意,條件用 if((*pf*11%256=39。039。 amp。amp。 *pf*11%256=39。939。) || *pf*11%256=32)語(yǔ)句來(lái)實(shí)現(xiàn),如果該字符不滿(mǎn)足上述條件,就用一個(gè)新的字符來(lái)替代,新的字符是當(dāng)前字符乘以 11的結(jié)果再去與 256求余數(shù) 。處理完畢后,指針去取下一個(gè)字符。如果該字符滿(mǎn)足所給條件,將不做任何操作,指針直接下移,去取下一個(gè)字符,對(duì)下一個(gè)字符進(jìn)行處理。 19. 已知文件 100個(gè)產(chǎn)品銷(xiāo)售記錄,每個(gè)產(chǎn)品銷(xiāo)售記錄由產(chǎn)品代碼 dm(字符型 4位)、產(chǎn)品名稱(chēng) mc(字符型 10位)、單價(jià) dj(整型)、數(shù)量 sl(整型)、金額 je(長(zhǎng)整型)幾部分組成。其中:金額 =單價(jià)數(shù)量。函數(shù) ReadDat()的功能是讀取這 100個(gè)銷(xiāo)售記錄并存入結(jié)構(gòu)數(shù)組 sell中。請(qǐng)編制函數(shù) SortDat(),其功能要求:按產(chǎn)品代碼從小到大進(jìn)行排列,若產(chǎn) 品代碼相同,則按金額從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組 sell中,最后調(diào)用函數(shù) WriteDat()把結(jié)果輸出到文件 。 注意:部分源程序已
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1