計(jì)算機(jī)三級(jí)網(wǎng)絡(luò)機(jī)試考試試題_第1頁
計(jì)算機(jī)三級(jí)網(wǎng)絡(luò)機(jī)試考試試題_第2頁
計(jì)算機(jī)三級(jí)網(wǎng)絡(luò)機(jī)試考試試題_第3頁
計(jì)算機(jī)三級(jí)網(wǎng)絡(luò)機(jī)試考試試題_第4頁
計(jì)算機(jī)三級(jí)網(wǎng)絡(luò)機(jī)試考試試題_第5頁
已閱讀5頁,還剩170頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

三級(jí)網(wǎng)絡(luò)機(jī)武考題及普案上半部分第一遣已知數(shù)據(jù)文件IN1.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVal(),其功能是:如果4位數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent,并把這些4位數(shù)按從大到小的順序存入數(shù)組b中。最后調(diào)用函數(shù)writeDat()把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到OUT1.DAT文件。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:ent。請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)readDat。和寫函數(shù)writeDat。的內(nèi)容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVal()inti,j;intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)j/*定義循環(huán)控制變■鼠*//*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變鼠*//*逐個(gè)取每?個(gè)4位數(shù)*/ia4=a[i]/1000;a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;/*求4位數(shù)的千位數(shù)字*//*求4位數(shù)的百位數(shù)字*//*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*/if(a4%2!=0&&a3%2!=0&&a2%2!=0&&al%2!=0)/*如果4位數(shù)各位上的數(shù)字均是奇數(shù)*/b[cnt]=a[i];cnt++;))for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)/*將滿足條件的數(shù)存入數(shù)組b+*//*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*//*將數(shù)組b中的數(shù)按從大到小的順序排列*/if(b[i]<b[j])(temp=b[i];b[i]=bUl;b[j]=temp;inti;FILE*fp;fp=fopen("IN1.DAT'W);for(i=0;i<MAX;i++)fscanf(fp;'%d'\&a[il);fclose(fp);)voidmain()(inti;readDat();jsVal();printf("滿足條件的數(shù)=%d\iT,cnt);for(i=0;i<cnt;i++)printfC'%d\n",b[i]);printf(,,\nM);writeDat();1voidwriteDat()(FILE*fp;inti;fp=fopen(Moutl.dat,,;,wH);fprintf(fp,"%d\n",cnt);for(i=O;i<cnt;i++)fprintf(fp;'%d\n'\b[i]);fclose(fp);)第二道已知IN2.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVal(),其功能是:依次從數(shù)組a中取出一個(gè)數(shù),如果該4位數(shù)連續(xù)大于該4位數(shù)以后的5個(gè)數(shù)且該數(shù)是奇數(shù),則統(tǒng)計(jì)出滿足此條件的數(shù)的個(gè)數(shù)ent,并把這些4位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到OUT2.DAT文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:ent。請(qǐng)勿改動(dòng)主:函數(shù)main。、讀函數(shù)readDat。和寫函數(shù)writeDat()的內(nèi)容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],ent=0;voidwriteDat();voidjsVal()intij;inttemp;for(i=0;i<MAX-5;i++)if(a[i]%2!=0)for(j=i+l;j<=i+5;j++){if(a[i]<aUl)break;/*定義循環(huán)控制變量*//*定義數(shù)據(jù)交換是的暫存變量*//*逐個(gè)取每個(gè)4位數(shù)*//*如果當(dāng)前數(shù)是奇數(shù)*//*取該數(shù)后面的5個(gè)數(shù)進(jìn)行比較*//*如果當(dāng)前數(shù)不滿足比后面5個(gè)數(shù)都大的條件,則跳出循環(huán)*/elseif(j==i+5){b[cnt]=a[i];cnt++;}}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)if(b[i]>bUJ)(/*如果當(dāng)前數(shù)比后面的5個(gè)數(shù)都大*//*將滿足條件的數(shù)存入數(shù)組b中*//*并統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*//*利用選擇法對(duì)b數(shù)組中的元素進(jìn)行從小到大的排序*/temp=h[i];b[i]=bU];b[j]=temp;))voidreadDat()(inti;FILE*fp;fp=fopen(,,IN2.DAT'\Hrn);for(i=0;i<MAX;i++)fscanf(fp,&a[i]);fclose(fp);)voidmain()(inti;readDat();jsValO;printf("滿足條件的數(shù)=%d\n”,ent);for(i=0;i<ent;i++)printf("%d",b[i]);printf(H\nH);writeDatO;

FILE*fp;inti;fp=fopenCOUT2.DAT“,“w“);fprintf(fp,,,%d\n,,,cnt);for(i=0;i<ent;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);J第三道已知在文件IN3.DAT中存有100個(gè)產(chǎn)品銷售記錄,每個(gè)產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位)、產(chǎn)品名稱me(字符型10位)、單價(jià)dj(整型)、數(shù)量si(整型)、金額je(長(zhǎng)整型)幾部分組成。其中:金額=單價(jià)X數(shù)量。函數(shù)ReadDat()的功能是讀取這100個(gè)銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請(qǐng)編制函數(shù)SortDat。,其功能要求:按產(chǎn)品名稱從小到大進(jìn)行排列,若產(chǎn)品名稱相同,則按金額從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組seH中,最后調(diào)用函數(shù)WrileDal。把結(jié)果輸出到文件OUT3.DAT中。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)ReadDat。和寫函數(shù)WriieDal。的內(nèi)容。#include<stdio.h>#include<memory.h>#include<string.h>#include<stdlib.h>#deHneMAX100typedefstruct{chardm[5];/*產(chǎn)品代碼*/charmc[ll];/*產(chǎn)品名稱*/intdj;/*單價(jià)*/intsi;/*數(shù)量?/longje;/*金額*/}PRO;PROsell[MAX];voidReadDaK);voidWriteDatO;voidSortDatO/*定義循環(huán)控制變量/*定義循環(huán)控制變量產(chǎn)定義數(shù)據(jù)交換時(shí)的暫存變量(這里是PRO類型的結(jié)構(gòu)體變量)*//*利用選擇法進(jìn)行排序*/intij;PROtemp;for(i=0;i<99;i++)for(j=i+l;j<100;j++)if(strcmp(sell[i].mc,sell[j].mc)>0)/*按產(chǎn)品名稱從小到大進(jìn)行排列*/temp=sell[i];sell[i]=sell[j];selHj]=temp;elseif(strcmp(sell[i].nic,sell|j].mc)==O) /*若產(chǎn)品名稱相同*/if(sell[i].je>seil[j].je) /*則按金額從小到大進(jìn)行排列*/(temp=sell[i];se!l[i]=selHj];sell[j]=temp;}Jvoidmain(){memset(sell,0,sizeof(sell));ReadDatO;SortDat();WriteDatO;}voidReadDatO{FILE*fp;charstr[80],ch[ll];inti;fp=fopen(nIN3.DATH,HrH);for(i=0;i<100;i++)(fgets(str,80,fp);memcpy(sell[i].dm,sti;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);)voidWriteDatO(FILE*fp;inti;fp=fopenCOUT3.DAT“,“w");for(i=0;i<100;i++)(fprintf(fp,M%s%s%4d%5d%10ld\n'\sell[i].dm,sell[i].mc,sell[i].dj^ell[i].sl9seU[i]Je);fclose(fp);

第四道函數(shù)ReadDat。的功能是實(shí)現(xiàn)從文件ENG4.IN中讀取一篇英文文章,存入到字符串?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輸出到文件PS4.DAT中。替代關(guān)系:f(p)=p*llmod256(p是數(shù)組xx中某一個(gè)字符的ASCII值,f(p)是計(jì)算后新字符的ASCII值),如果計(jì)算后f(p)的值小于等于32或大了130,則該字符不變,否則將f(p)所對(duì)應(yīng)的字符進(jìn)行替代。注意:部分源程序已給出。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符.請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)ReadDat。和寫函數(shù)WriteDat。的內(nèi)容。#include<stdio.h>#include<string.h>#include<ctype.h>#include<stdlib.h>unsignedcharxx[50][80];intmaxline=0;/?文章的總行數(shù)?/intReadDat(void);voidWriteDat(void);voidencryptCharO(/*定義循環(huán)控制變量/*定義循環(huán)控制變量*//*存儲(chǔ)字符串的長(zhǎng)度*//*存儲(chǔ)當(dāng)前取得的字符*//*以行為單位獲取字符*//*求得當(dāng)前行的字符串長(zhǎng)度*//*依次取每行的各個(gè)字符*/intstr;charch;for(i=0;i<maxline;i++){str=strlen(xx[i]);for(j=0;j<str;j++){ch=xx[i]lj]*ll%256;if(ch<=32IIch>130)continue; /*如果計(jì)算后的值小于等于32或大于130,則該字符不變*/elsexx[i]U]=ch; /*否則將所對(duì)應(yīng)的字符進(jìn)行替代*/voidmain(){systemC'CLS");if(ReadDat())print”"數(shù)據(jù)文件ENG4.IN不能打開!\n\007");return;encryptChar();WriteDatO;}intReadDat(void)(FILE*fp;inti=0;unsignedchar*p;if((fp=fopen(,,ENG4.INH,HrM))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL)(p=strchr(xx[i],*\n');if(p)*p=0;i++;)maxline=i;fclose(fp);return0;)voidWriteDat(void)(FILE*fp;inti;fp=fopen("PS4.DATH,HwH);for(i=0;i<maxline;i++)(printf(H%s\nH,xx[i]);fprintf(fp,,'%s\n,,,xx[i]);)fclose(fp);)第五道函數(shù)ReadDat。的功能是實(shí)現(xiàn)從文件IN5.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中。請(qǐng)編制函數(shù)ConvertCharAO,該函數(shù)的功能是:以行為單位把字符串中的所有小寫字母改寫成該字母的卜一個(gè)字母,如果是字母z,則改寫成字母a。大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字符不變。把已處理的字符串仍按行重新存入字符半數(shù)組xx中,最后調(diào)用函數(shù)WriteDatO把結(jié)果xx輸出到文件OUT5.DAT中。例如,原文:Adb.Bcdzaabck.LLhj結(jié)果:Aec.Bdeabbcdl.LLik原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主二函數(shù)main。、讀函數(shù)ReadDatO和寫函數(shù)WriteDatO的內(nèi)容。#include〈string.h>#inchide<stdlib.h>charxx[50J[80];intmaxline=0;/*文章的總行數(shù)*/intReadDat(void);voidWriteDat(void);voidConvertCharA(void)intij;intstr;for(i=0;i<maxline;i++)intij;intstr;for(i=0;i<maxline;i++)/*定義循環(huán)控制變量力

產(chǎn)存儲(chǔ)字符串的長(zhǎng)度財(cái)/*以行為單位獲取字符*/str=strlen(xx[i]);/*求得當(dāng)前行的字符串的長(zhǎng)度號(hào)for(j=0;j<str;j++)=n&&xx[i](j]<='z,)"如果是小寫字母*/xx[i][j]=W;尸如果是小寫字母Z,則改寫成字母a*/xx[i][j]+=l; "其他的小寫字母則改寫為該字母的下一個(gè)字母*/voidmain。|system(nCLSn);if(ReadDat())(printf("數(shù)據(jù)文件IN5,DAT不能打開八n\007");return;)ConvertCharAO;WriteDat();}intReadDat(void){FILE*fp;inti=0;char*p;if((fp=fopen(,,IN5,DATH,HrH))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL)(p=strchr(xx[i],*\n');if(p)*p=0;i++;

maxline=i;fclose(fp);return0;voidWriteDat(void)FILE*fp;inti;system(HCLSM);fp=fopen(HOUT5.DATM,MwM);for(i=0;i<maxline;i++)printf("%s\n",xx[i]);fprintf(fp,M%s\nM,xx[i]);fclose(fp);第六道在文件1N6.DAT中有200個(gè)正整數(shù),且每個(gè)數(shù)均在1000至9999之間。函數(shù)readDat。的功能是讀取這200個(gè)數(shù)存放到數(shù)組aa中。請(qǐng)編制函數(shù)jsSort(),該函數(shù)的功能是:要求按每個(gè)數(shù)的后3位的大小進(jìn)行降序排列,將排序后的前10個(gè)數(shù)存入數(shù)組b中,如果數(shù)組b中出現(xiàn)后3位相等的數(shù),則對(duì)這些數(shù)按原始4位數(shù)據(jù)進(jìn)行升序排列。最后調(diào)用函數(shù)writeDat。把結(jié)果bb輸出到文件OUT6.DAT中。例如:處理前90125099601270258088處理后50998088702560129012注意:部分源程序己給出。請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)rcadDat()和寫函數(shù)writcDat請(qǐng)勿改動(dòng)主函數(shù)main。、#include<stdio.h>#include#include<string.h>#include<stdio.h>#include#include<string.h><stdlib.h>intaa[200],bb[10];voidreadDat();voidwriteDat();voidjsSort()intij;inttemp;for(i=0;i<199;i++)intij;inttemp;for(i=0;i<199;i++)/*定義數(shù)據(jù)交換時(shí)的暫存變量*//*用選擇法對(duì)數(shù)組進(jìn)行排序*/for(j=i+l;j<200y++)/*按照每個(gè)數(shù)的后3位大小進(jìn)行降序排序*/if(aa[i]%/*按照每個(gè)數(shù)的后3位大小進(jìn)行降序排序*/temp=aa(i];aa[i]=aa[j];aa[j]=tenip;elseif(aa[i]%1000==aa[j]%1000)如果后3位數(shù)相等列if(aa[i]>aaU]) 則要按原4位數(shù)的值進(jìn)行升序排序可(temp=aa[i];aa[i]=aa|j];aa[j]=teiiip;))for(i=0;i<10;i++) /*將排序后的前10個(gè)數(shù)存入數(shù)組b中*/bb[i]=aa[i];}voidmain()(readDat();jsSortO;writeDatO;)voidreadDat()(FILE*in;inti;in=fopen("IN6.DATH,Hr°);for(i=0;i<200;i++)fscanf(in,&aa[i]);fclose(in);)voidwriteDatO(FILE*out;inti;out=fopenCOUT6.DAT,;system(nCLSH);for(i=0;i<10;i++)(printf(Hi=%d,%d\nH,i+1,bb[i]);fprintf(out,H%d\nM,bb[i]);)fclose(out);}第七道函數(shù)ReadDat。的功能是實(shí)現(xiàn)從文件【N7.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中。請(qǐng)編制函數(shù)SortCharD(),該函數(shù)的功能是:以行為單位對(duì)字符按從大到小的順序進(jìn)行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT7.DAT中。

例如,原文:dAe,BfCCCbbAA結(jié)果:fedCBA,bbCCAA原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)RcadDat()和寫函數(shù)WritcDat()的內(nèi)容。#include<stdio.h>#include<string.h>#include<stdlib.h>charxx[50][80];intmaxline=0;intReadDat(void);voidWriteDat(void);voidSortCharDO{/*定義循環(huán)控制變量/*定義循環(huán)控制變量*//*存儲(chǔ)字符串的長(zhǎng)度*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*以行為單位獲取字符*//*求得當(dāng)前行的字符串長(zhǎng)度*//*對(duì)字符按從大到小的順序進(jìn)行排序*/intstr;chartemp;for(i=0;i<maxline;i++){str=strlen(xx[i]);for(j=0;j<str-l;j++)for(k=j+1;k<str;k++)if(XX[i]U]<XX[i][k])(temp=xx[i]|j];xx[i][j]=xx[i][k];xx[i][k]=temp;voidmain(){system(nCLSH);if(ReadDatO)printfT數(shù)據(jù)文件IN7.DAT不能打開!\n\007”);return;SortCharDO;WriteDatO;}intReadDat(void)(FILE*fp;inti=0;char*p;if((fp=fopen(,,IN7.DAT",,,r,'))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],*\n*);if(p)*p=0;i++;}maxline=i;fclose(fp);return0;}voidWriteDatO{FILE*fp;inti;system(MCLSH);fp=fopen(,,OUT7.DAT,\"wn);for(i=0;i<maxline;i++)(printf("%s\iT,xx[iD;fprintf(fp,"%s\n",xx[i]);)fclose(fp);}第八道對(duì)10個(gè)候選人進(jìn)行選舉,現(xiàn)有一個(gè)100條記錄的選票數(shù)據(jù)文件IN8.DAT,其數(shù)據(jù)存放的格式是每條記錄的長(zhǎng)度均為10位,第一位表示第一個(gè)人的選中情況,第二位表示第二個(gè)人的選中情況,依次類推。每一位內(nèi)容均為字符0或1,1表示此人被選中,0表示此人未被選中,若一張選票選中人數(shù)小于等于5個(gè)人時(shí)則被認(rèn)為是無效的選票。給定函數(shù)ReadDatO的功能是把選票數(shù)據(jù)讀入到字符半數(shù)組xx中。請(qǐng)編制函數(shù)CountRs。來統(tǒng)計(jì)每個(gè)人的選票數(shù)并把得票數(shù)依次存入yy[O]到y(tǒng)y[9]中,最后調(diào)用函數(shù)WriteDat()把結(jié)果yy輸出到文件OUT8.DAT中。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)ReadDat。和寫函數(shù)WriteDatO的內(nèi)容。

#include<stdio.h>#include<memory.h>charxx[100][ll];intyy[10];intReadDat(void);voidWriteDat(void);voidCountRs(void){/*定義循環(huán)控制變量*//*/*定義循環(huán)控制變量*//*用來存儲(chǔ)每張選票中選中人數(shù),以判斷選票是否有效*//*初始化數(shù)組yy*//*依次取每張選票進(jìn)行統(tǒng)計(jì)*//*初始化計(jì)數(shù)器變量*//*統(tǒng)計(jì)每張選票的選中人數(shù)ent*//*當(dāng)ent值大于5時(shí)為有效選票*//*統(tǒng)計(jì)有效選票*/intent;for(i=0;i<10;i++)yy[i]=o;for(i=0;i<100;i++){cnt=0;for(j=0;j<10;j++)if(xx[i][j]==T)cnt++;if(cnt>5)(for(j=0;j<10;j++)if(xx[i]U]==*r)yy[j]++;voidmain(){inti;for(i=0;i<10;i++)yy[i]=0;if(ReadDat())printf("選票數(shù)據(jù)文件IN8.DAT不能打開!\007\iT);return;}CountRsO;WriteDatO;)intReadDat(void)(FILE*fp;inti;chartt[13];

if((fp=fopenCIN8.DAT“,"「"))==NULL)return1;for(i=0;i<100;i++){if(fgets(tt,13,fp)==NULL)return1;memcpy(xx[i],tt,10);}fclose(fp);return0;}voidWriteDat(void){FILE*fp;inti;fp=fopen(MOUT8.DATH,HwH);for(i=0;i<10;i++)(fprintf(fp9H%d\nH,yy[i]);printf("第%d個(gè)人的選票數(shù)=%d\n”,i+1,yy[i]);}fclose(fp);)第九道下列程序的功能是:利用以下所示的簡(jiǎn)單迭代方法求方程:cos(x)?x=0的一個(gè)實(shí)根。xn+l=cos(xn)迭代步驟如F:(1)取xl初值為0.0。x0=xl,把xl的值賦給x0。xl=cos(x0),求出一個(gè)新的xl。(4)若x0?xl的絕對(duì)值小于0.000001,執(zhí)行步驟(5),否則執(zhí)行步驟(2)。(5)所求xl就是方程cos(x)-x=0的一個(gè)實(shí)根,作為函數(shù)值返回。請(qǐng)編寫函數(shù)counlVakie()實(shí)現(xiàn)程序要求,最后調(diào)用函數(shù)wrileDAT()把結(jié)果輸出到文件oul9.dat中。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main。和寫函數(shù)writeDAT。的內(nèi)容。#include<math.h>#include<stdio.h>#include<std!ib.h>voidwriteDAT();floatcountValue()floatx0,x1=0.0;/*floatx0,x1=0.0;/*定義兩個(gè)浮點(diǎn)型變量進(jìn)行迭代*/whiled)/*無條件循環(huán)率/whiled)xO=xl; /*將xl賦值給xO*/xl=cos(xO); /*求出新的xl*/if(fabs(x0-xl)<le-6)break; /*若xO?xl的絕對(duì)值小于0.000001,則結(jié)束循環(huán)*/}returnxl; /*返回xl的值*/voidmain()(system(,,CLSH);printf(“實(shí)根二%f\n",countValue());printf(M%f\nM,cos(countValue())-countValue());writeDAT();voidwriteDAT()(FILE*wf;wf=fopen(',out9.dat,,,Mwn);fprintf(wf,H%f\n,',countValue());fclose(wf);J第十道請(qǐng)編寫函數(shù)voidcounlVahie(int*a,int*n),它的功能是:求出1到1000之內(nèi)能被7或11整除但不能同時(shí)被7和11整除的所有整數(shù)并存放在數(shù)組a中,并通過n返回這些數(shù)的個(gè)數(shù)。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main。和寫函數(shù)writeDAT。的內(nèi)容。#include<stdio.h>#include<stdlib.h>voidwriteDAT();voidcountValue(int*a,int*n)(inti; /*定義循環(huán)控制變量切*n=0; 尸初始化計(jì)數(shù)器變量*/for(i=l;i<=l()00;i++) /*在這個(gè)范圍內(nèi)尋找符合條件的數(shù)if((i%7==0&&i%ll!=0)ll(i%7!=0&&i%ll==0))/*如果當(dāng)前的數(shù)可以被7整除而不可以被11整除,或者可以被11整除而不可以被7整除*/{*a=i; /*保存符合條件的數(shù)*/*n=*n+l; /*統(tǒng)計(jì)個(gè)數(shù)*/a++;voidmain()(intaa[1000],n,k;system(HCLSM);countValue(aa,&n);for(k=0;k<n;k++)if((k+l)%10==0){printf(”%5d”,aa[k]);printf("\nM);}elseprintf(H%5dH,aa[k]);writeDATO;)voidwriteDAT()(intaa[1000],n,k;FILE*fp;fp=fopen(''ouHO.dat“Jw”);countValue(aa,&n);for(k=0;k<n;k++)if((k+l)%10==0){fprintf(fpj%5d”,aa[k]);fprintf(fp,,,\nM);)elsefprintf(fp,M%5dH,aa[k]);fclose(fp);)第十一道已知在文件IN11.DAT中存有若干個(gè)(個(gè)數(shù)<200)4位數(shù)字的正整數(shù),函數(shù)ReadDat。的功能是讀取這若干個(gè)正整數(shù)并存入數(shù)組xx中。請(qǐng)編制函數(shù)CalValueO,其功能要求:(1)求出該文件中共有多少個(gè)正整數(shù)totNum;(2)求這些數(shù)右移1位后,產(chǎn)生的新數(shù)是偶數(shù)的數(shù)的個(gè)數(shù)totCnt,以及滿足此條件的這些數(shù)(右移前的值)的算術(shù)平均值totPjz,最后調(diào)用函數(shù)WriteDat。把所求的結(jié)果輸出到文件OUT11.DAT中。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主:函數(shù)main。、讀函數(shù)ReadDat。和寫函數(shù)WriteDat()的內(nèi)容。#include<stdio.h>#includc<stdlib.h>#defineMAXNUM200inttotNum=0;/*文件IN11.DAT中共有多少個(gè)正整數(shù)*/inttotCnt=0;/*符合條件的正整數(shù)的個(gè)數(shù)*/doubletotPjz=0.0;/*平均值*/intReadDat(void);voidWritedat(void);voidCalValue(void)inti;/*定義循環(huán)控制變量*/intdata;/*用于保存處理后產(chǎn)生的新數(shù)*/for(i=0;i<200;i++)/*逐個(gè)取數(shù)組XX中的數(shù)進(jìn)行統(tǒng)計(jì)*/if(xx[i]>0)/*判斷是否正整數(shù)*/{totNum++;/*統(tǒng)計(jì)正整數(shù)的個(gè)數(shù)*/data=xx[i]?l;/*將數(shù)右移一位*/if(data%2==0)/*如果產(chǎn)生的新數(shù)是偶數(shù)*/(totCnt++;/*統(tǒng)計(jì)這些數(shù)的個(gè)數(shù)*/totPjz+=xx[i];}/*并將滿足條件的原數(shù)求和*/totPjz/=totCnt; /*求滿足條件的這些數(shù)(右移前的值)的算術(shù)平均值*/Jvoidmain(){inti;system(,,CLSH);for(i=0;i<MAXNUM;i++)xx[i]=0;if(ReadDat())(print*"數(shù)據(jù)文件INU.DAT不能打開!\007\n");return;}CalValueO;printf("文件IN11.DAT中共有正整數(shù)=%d個(gè)\n”,totNum);printf("符合條件的正整數(shù)的個(gè)數(shù)=%d個(gè)\n”,totCnt);printf(”平均值=%.21f\n",totPjz);WritedatO;)intReadDat(void)FILE*fp;inti=0;if((fp=fopen(,,IN11.DATH,Mr"))==NULL)

return1;while(!feof(fp)){fscanf(fp,&xx[i++]);}fclose(fp);return0;JvoidWritedat(void)(FILE*fp;fp=fopen("OUTll.DATH,nwH);fprintf(fp,H%d\n%d\n%.2!f\n",totNum,totCnt,totPjz);fclose(fp);}第十二道已知數(shù)據(jù)文件IN12.DAT中存有300個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這些數(shù)存入數(shù)組a中。請(qǐng)編制函數(shù)jsValue。,其功能是:求出千位數(shù)上的數(shù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個(gè)數(shù)ent,再把所有滿足此條件的4位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的4位數(shù)按從小到大的順序進(jìn)行排序,最后調(diào)用寫函數(shù)writeDat。把數(shù)組b中的數(shù)輸出到OUT12.DAT文件中。例如:6712,64-2=7+1,則該數(shù)滿足條件,存入數(shù)組b中,且個(gè)數(shù)cnt=cnt+L8129,84-9*1+2.則該數(shù)不滿足條件,忽略。注意:部分源程序已給出。程序中已定義數(shù)組:a[300].b[300],已定義變量:ent.請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)readDat。和寫函數(shù)writeDat。的內(nèi)容。#include<stdio.h>inta[300],b[300],cnt=0;voidreadl)at();voidwriteDat();voidjsValue(){/*定義循環(huán)控制變量*//*定義循環(huán)控制變量*//*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*//*求4位數(shù)的千位數(shù)字*//*求4位數(shù)的百位數(shù)字*//*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*//*如果千位數(shù)加個(gè)位數(shù)等于百位數(shù)加十位數(shù)*/intal,a2,a3,a4;inttemp;for(i=0;i<300;i++)|a4=a[i]/1000;a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;if(a4+al==a3+a2)b[cnt]=a[i];/*將滿足條件的數(shù)存入數(shù)組b[cnt]=a[i];/*將滿足條件的數(shù)存入數(shù)組b中*/cnt++;/*cnt++;/*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)ent*/for(i=0;i<cnt-l;i++) /*用選擇法對(duì)數(shù)組b的4位數(shù)按從小到大的順序進(jìn)行排序*/for(j=i+l;j<cnt;j++)if(b[i]>b[j]){temp=b[i];b[i]=bU];b[j]=temp;))voidmain()(inti;readDat();jsValue();writeDat();printf(Hcnt=%d\n,\ent);for(i=0;i<cnt;i++)printf("b[%d]=%d\nH,i,b[i]);Jvoidreadl)at(){FILE*fp;inti;fp=fopen(HIN12.DATH,MrH);for(i=0;i<300;i++)fscanf(fp,H%d,H,&a[i]);fclose(fp);)voidwriteDatO(FILE*fp;inti;fp=fopen(,OUT12.DATH,1w*);fprintf(fp,for(i=0;i<cnt;i++)fprintf(fp,,,%d,\nM,b[i]);fclose(fp);)第十三道已知數(shù)據(jù)文件IN13.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVal(),其功能是:如果4位數(shù)各位上的數(shù)字均是0或2或4或6或8,則統(tǒng)計(jì)出滿足此條件的數(shù)的個(gè)數(shù)

ent,并把這些4位數(shù)按從大到小的順序存入數(shù)組b中,最后調(diào)用”函數(shù)writeDat()把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到OUT13.DAT文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:ent.請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat。的內(nèi)容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],ent=0;voidwriteDaK);voidjsVal()intij;/*定義循環(huán)控制變量*/intal,a2,a3,a4;/*定義變量保存4位數(shù)的每位數(shù)字*/inttemp;/*定義數(shù)據(jù)交換時(shí)的暫存變量*/for(i=0;i<200;i++){/*逐個(gè)取每一個(gè)4位數(shù)*/a4=a[i]/1000;/*求4位數(shù)的千位數(shù)字*/a3=a[i]%1000/100;/*求4位數(shù)的百位數(shù)字*/a2=a[i]%100/10;/*求4位數(shù)的十位數(shù)字*/al=a[i]%10;/*求4位數(shù)的個(gè)位數(shù)字*/if(a4%2==0&&a3%2==0&&a2%2==0&&al%2==0)/*如果各位上的數(shù)字均是0或2或4或6或8*/b[cnt]=a[i]; /*將滿足條件的數(shù)存入數(shù)組h中*/cnt++; /*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)ent*/for(i=0;i<cnt-l;i++)/*for(i=0;i<cnt-l;i++)/*將數(shù)組b中的數(shù)按從大到小的順序排序*/for(j=i+l;j<cnt;j++)if(b[i]<bU])(temp=b[i];b[i]=bU];b[j]=temp;voidreadDat()(inti;FILE*fp;fp=fopenCIN13.DAT","r");for(i=0;i<MAX;i++)fscanf(fp,H%d",&a[i]);fclose(fp);

voidmain()inti;readDatO;jsValO;printf("滿足條件的數(shù)=%d\n”,ent);for(i=0;i<ent;i++)printf(n%dH,b[i]);printf(M\nM);writeDatO;}voidwriteDatO(FILE*fp;inti;fp=fopen("OUT13.DAT'\Mwn);fprintf(fp, ent);for(i=0;i<ent;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);)第十四道已知數(shù)據(jù)文件IN14.DAT中存有300個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDatO把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVakie。,其功能是:求出千位數(shù)上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個(gè)位數(shù)上的數(shù)的個(gè)數(shù)ent,再把所有滿足此條件的4位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的4位數(shù)從大到小進(jìn)行排序,最后調(diào)用寫函數(shù)writeDatO把數(shù)組b中的數(shù)輸出到OUT14.DAT文件。例如:7153,7+1=54-3,則該數(shù)滿足條件,存入數(shù)組b中,且個(gè)數(shù)cnt=cnl+L8129,8+1W2+9,則該數(shù)不滿足條件,忽略。注意:部分源程序已給出。程序中已定義數(shù)組:a[300J,b[300],已定義變量:ent。請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)readDal。和寫函數(shù)writeDal。的內(nèi)容。#include<stdio.h>inta[300],b[300],cnt=O;voidreadDatf);voidwriteDatO;voidjsValueOintij;intal,a2,a3,a4;inttemp;for(i=0;i<300;i++)intij;intal,a2,a3,a4;inttemp;for(i=0;i<300;i++)/*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*//*求/*求4位數(shù)的千位數(shù)字*//*求4位數(shù)的百位數(shù)字*/a3=a[i]%1000/100;

/*求4位數(shù)的十位數(shù)字*//*求/*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*//*如果千位數(shù)加百位數(shù)等于十位數(shù)加個(gè)位數(shù)*//*把滿足條件的4位數(shù)依次存入數(shù)組b中*//*計(jì)算滿足條件的數(shù)的個(gè)數(shù)號(hào)/*對(duì)數(shù)組b中的4位數(shù)按從大到小進(jìn)行排序*/al=a[i]%10;if(a4+a3==a2+al)(b[cnt]=a[i];cnt++;}}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)if(b[i]<bUJ)(temp=bli];b[i]=bU];b(j]=temp;voidmain()(inti;readDatO;jsValue();writeDatO;printf(Hcnt=%d\nH,ent);for(i=0;i<ent;i++)printf("b[%d]=%d\nH,i,b[i])}voidreadDatO(FILE*fp;inti;fp=fopenCIN14.DAT“,;for(i=0;i<300;i++)fscanf(fp,H%d,M,&a[i]);fclose(fp);)voidwriteDatO{FILE*fp;inti;fp=fopen(,,OUT14.DATM,"wH):fprintf(fp,,,%d\n,,,cnt);for(i=0;i<ent;i++)

fprintf(fp,"%d,\iT,b[i]);fclose(fp);)第十五道已知數(shù)據(jù)文件inl5.dat中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVal(),其功能是:若一個(gè)4位數(shù)的千位數(shù)字上的值小于等于百位數(shù)字上的值,百位數(shù)字上的值小于等于十位數(shù)字上的值,以及十位數(shù)字上的值小于等于個(gè)位數(shù)字上.的值,并且此4位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的數(shù)的個(gè)數(shù)ent并把這些4位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到outl5.dat文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:ent。請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDat();voidjsVal()(/*定義循環(huán)控制變量“//*定義循環(huán)控制變量“//*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一^b4位數(shù)*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)a4=a[i]/1000; /*求4位數(shù)的千位數(shù)字*/a3=a[i]%1000/100; /*求4位數(shù)的百位數(shù)字*/a2=a[i]%100/10; /*求4位數(shù)的十位數(shù)字*/al=a[i]%10; /*求4位數(shù)的個(gè)位數(shù)字*/if((a4<=a3)&&(a3<=a2)&&(a2<=al)&&(al%2==0))/*如果該數(shù)的千位數(shù)小于等于百位數(shù),百位數(shù)小于等于十位數(shù),十位數(shù)小于等于個(gè)位數(shù),并且此4位數(shù)是偶數(shù)*/b[cnt]=a[i]; /*則將該數(shù)存入數(shù)組b中*//*把數(shù)組b中的4/*把數(shù)組b中的4位數(shù)按從小到大的順序排列*/for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)if(b[i]>bU])temp=b[i];b[i]=bU];b[j]=temp;voidreadDat()inti;FILE*fp;fp=fopen(Minl5.datH,,,rH);for(i=0;i<MAX;i++)fscanf(fp,H%d'\&a[i]);fclose(fp);}voidmain()(inti;readDatO;jsVal();printf("滿足條件的數(shù)=%d\n”,cnt);for(i=0;i<cnt;i++)writeDatO;JvoidwriteDatO(FILE*fp;inti;fp=fopen(''outl5.dat''Jw");fprintf(fp,H%d\n*',cnt);for(i=0;i<cnt;i++)fprintf(fp,M%d\nM,b[i]);fclose(fp);)第十六道已知數(shù)據(jù)文件IN16.DAT中存有300個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVakie。,其功能是:求出千位數(shù)上的數(shù)減百位數(shù)上數(shù)減十位數(shù)上的數(shù)減個(gè)位數(shù)上的數(shù)大于零的數(shù)的個(gè)數(shù)ent,再把所有滿足此條件的4位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的4位數(shù)按從小到大的順序進(jìn)行排序,最后調(diào)用寫函數(shù)writeDatO把數(shù)組b中的數(shù)輸出到OUT16.DAT文件中。例如:9123,9-1-2-3>0,則該數(shù)滿足條件,存入數(shù)組b中,且個(gè)數(shù)cnt=cnt+l。9812,9-8-1-2<0,則該數(shù)不滿足條件,忽略。注意:部分源程序已給出。程序中已定義數(shù)組:a[300],b[300],已定義變量:cn“請(qǐng)勿改動(dòng)主:函數(shù)main。、讀函數(shù)rcadDatO和寫函數(shù)writeDatO的內(nèi)容。inta[300],b[300],cnt=0;voidreadDat();voidwriteDatO;voidjsVaiue()intij;intal,a2,a3,a4;inttemp;for(i=0;i<300;i++){a4=a[i]/10(M);a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;/*定義循環(huán)控制變量*//*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*//*求4位數(shù)的千位數(shù)字*//*求4位數(shù)的百位數(shù)字*//*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*/if(a4-a3-a2-al>0){b[cnt]=a[i];cnt++;)}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)/*如果千位數(shù)減百位數(shù)減十位數(shù)減個(gè)位數(shù)大于零*//*則把該數(shù)存入數(shù)組b中*//*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*//*對(duì)數(shù)組b的4位數(shù)按從小到大的順序進(jìn)行排序*/if(b[i]>b[j])(temp=b[i];b[i]=bU];b[j]=temp;)Jvoidmain()(inti;readDatO;jsValue();printf(Hcnt=%d\nn,cnt);writeDatO;for(i=0;i<cnt;i++)printf(',b[%d]=%d\nM,i,b[i]);voidreadDat()FILE*fp;inti;fp=fopen(”IN16.DAT”Jr”);for(i=0;i<300;i++)fscanf(fp,H%d,H,&a[iJ);fclose(fp);voidwriteDat()(FILE*fp;inti;fp=fopen(”O(jiān)UT16.DAT”Jw”);fprintf(fp,"%d\nM,cnt);for(i=0;i<cnt;i++)fprintf(fp,,,%d\n",b[i]);fclose(fp);}第十七道已知數(shù)據(jù)文件IN17.DAT中存有300個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsValue(),其功能是:求出個(gè)位數(shù)上的數(shù)減千位數(shù)上數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)大于零的個(gè)數(shù)ent,再把所有滿足此條件的4位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的4位數(shù)按從大到小的順序進(jìn)行排序,最后調(diào)用函數(shù)writeDat。把數(shù)組b中的數(shù)輸出到OUT17.DAT文件中。例如:1239,9-1-2-3>0,則該數(shù)滿足條件,存入數(shù)組b中,且個(gè)數(shù)cnt=cnt+l。8129,9-8-1-2<0,則該數(shù)不滿足條件,忽略。注意:部分源程序已給出。程序中已定義數(shù)組:a[300],b[300],已定義變量:ent。請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)readDal。和寫函數(shù)wrileDal。的內(nèi)容。#include<stdio.h>inta[300],b[300],cnt=0;voidrcadDat();voidwriteDat();voidjsValueO(/*定義循環(huán)控制變量力/*/*定義循環(huán)控制變量力/*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*//*求4位數(shù)的千位數(shù)字*/尸求4位數(shù)的百位數(shù)字號(hào)/*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*/intal,a2,a3,a4;inttemp;for(i=0;i<300;i++)a4HM000;a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;

if(al-a3-a2-a4>0)/*if(al-a3-a2-a4>0)/*如果個(gè)位數(shù)減千位數(shù)減百位數(shù)減十位數(shù)大于零*/b[cnt]=a[i];cnt++;/*則將滿足條件的數(shù)存入數(shù)組b中*/b[cnt]=a[i];cnt++;/*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)可for(i=0;i<cnt-l;i++) /*對(duì)數(shù)組b的4位數(shù)按從大到小的順序進(jìn)行排序*/for(j=i+l;j<cnt;j++)if(b[i]<bU])(temp=b[i];b[i]=b[j];b[j]=temp;voidmain(){inti;readDat();jsValue();writeDat();printf(,'cnt=%d\n,,,cnt);for(i=0;i<cnt;i++)printf(Mb[%d]=%d\nM,i,b[i]);JvoidreadDat()(FILE*fp;inti;fp=fopen(nIN17.DATH,Hrn);for(i=0;i<300;i++)fclose(fp);)voidwriteDat()(FILE*fp;inti;fp=fopen(HOUT17.DATH,Mwn);fprintf(fp,"%d\n",cnt);for(i=0;i<cnt;i++)fprintf(fp,1,%d\n,',b[i]);fclose(fp);}第十八道下列程序的功能是:選出5000以下符合條件的自然數(shù)。條件是:千位數(shù)字與百位數(shù)字之和等于十位數(shù)字與個(gè)位數(shù)字之和,且千位數(shù)字與百位數(shù)字之和等于個(gè)位數(shù)字與千位數(shù)字之差的10倍。計(jì)算并輸出這些4位自然數(shù)的個(gè)數(shù)ent及這些數(shù)的和sum。請(qǐng)編寫函數(shù)countVahie。實(shí)現(xiàn)程序的要求,最后調(diào)用函數(shù)writeDAT。把結(jié)果cm和sum輸出到文件OUT18.DAT中。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main。和寫函數(shù)writeDAT。的內(nèi)容。#include<stdio.h>intent,sum;voidwriteDATO;voidcountValue()inti;intal,a2,a3,a4;for(i=5000;i>=1000;i-)(a4=i/1000;a3=i%1000/1()0;a2=i%100/10;al=i%10;/*循環(huán)控制變量*//*定義變量保存4位數(shù)的每位數(shù)字*//*依次取每一個(gè)數(shù)進(jìn)行判斷*//*求4位數(shù)的千位數(shù)字*//*求4位數(shù)的百位數(shù)字*//*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*/if(a4+a3==a2+al&&a4+a3==(a1-a4)*10){ /*千位數(shù)與百位數(shù)之和等于十位數(shù)與個(gè)位數(shù)之和,且千位數(shù)與百位數(shù)之和等于個(gè)位數(shù)與千位數(shù)之差的10倍*/cnt++;sum+=i;/*則統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*//*將滿足條件的數(shù)求和*/voidmain()(cnt=sum=0;countValueO;priMf("滿足條件的自然數(shù)的個(gè)數(shù)二%小11”式115printf("滿足條件的自然數(shù)的值的和=%d\n”,sum);writeDATO;)voidwriteDATOFILE*fp;fp=fopen("OUT18.DATVw”);fprintf(fp,"%d\n%d\n,,,cnt9sum);fclose(fp);}第十九道已知數(shù)據(jù)文件IN19.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVal(),其功能是:把一個(gè)4位數(shù)的千位數(shù)上的值減百位數(shù)上的值再減十位數(shù)上的值最后減個(gè)位數(shù)上的值,如果得出的值大于等于零且此4位數(shù)是奇數(shù),則統(tǒng)計(jì)出滿足此條件的數(shù)的個(gè)數(shù)ent并把這些4位數(shù)存入數(shù)組63然后對(duì)數(shù)組b的4位數(shù)按從小到大的順序進(jìn)行排序,最后調(diào)用函數(shù)wrileDal。把結(jié)果cnl及數(shù)組b中的符合條件的4位數(shù)輸出到outl9.dat文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:ent。請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)readDat。和寫函數(shù)writeDat。的內(nèi)容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVal()intij;intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)/*定義循環(huán)控制變量*//*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*/a4=a[i]/1000; /*求4位數(shù)的千位數(shù)字*/a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;/*求4位數(shù)的百位數(shù)字*//*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*/if((a4-a3-a2-al>=0)&&al%2!=0)/*如果千位數(shù)減百位數(shù)再減十位數(shù)最后減個(gè)位數(shù)得出的值大于等于零且此4位數(shù)是奇數(shù)*/b[cnt]=a[i];cnt++;)}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)/*則將該數(shù)存入數(shù)組b中*//*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*//*對(duì)數(shù)組b的4位數(shù)按從小到大的順序進(jìn)行排序*/if(b[i]>b[j])temp=b[i];b[i]=bU];b|j]=temp;voidreadl)at()(inti;FILE*fp;fp=fopen(,,IN19.DAT,,,HrH);for(i=0;i<MAX;i++)focanf(fp,H%dH,&a[i]);fclose(fp);}voidmain()(inti;readDat();jsVal();prindT滿足條件的數(shù)=%d\n”,cnt);fbr(i=O;i<cnt;i++)printf("%dM,b[i]);writeDatO;}voidwriteDatO(FILE*fp;inti;fp=fopenC'outl9.dat",MwH);fprintf(fp,M%d\nM,cnt);for(i=0;i<cnt;i++)fprintf(fpJ%d\n”,b[iD;fclose(fp);}第二十道已知數(shù)據(jù)文件IN20.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVal(),其功能是:如果一個(gè)4位數(shù)的千位數(shù)字上的值加十位數(shù)字上的值恰好等于百位數(shù)字上.的值加上個(gè)位數(shù)字上的值,并且此4位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的數(shù)的個(gè)數(shù)ent并把這些4位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到OUT20.DAT文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:cn“請(qǐng)勿改動(dòng)主:函數(shù)main。、讀函數(shù)rcadDat。和寫函數(shù)writeDat。的內(nèi)容。#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVaK)(/*定義循環(huán)控制變量*//*定義循環(huán)控制變量*//*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)a4=a[i]/1000; /*求4位數(shù)的千位數(shù)字*/a3=a[i]%1000/100;/*a3=a[i]%1000/100;/*求4位數(shù)的百位數(shù)字*/a2=a[i]%100/10; /*求4位數(shù)的十位數(shù)字*/al=a[i]%10; /*求4位數(shù)的個(gè)位數(shù)字*/if((a4+a2==a3+al)&&a[i]%2!=l){ /*如果千位數(shù)加十位數(shù)等于百位數(shù)加上個(gè)位數(shù),并且此數(shù)是偶數(shù)*/b[cnt]=a[i]; /*則將滿足條件的數(shù)存入數(shù)組b中*/cnt++; /*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*/for(i=0;i<cnt-l;i++)/*將數(shù)組b中的數(shù)按從小到大的順序排列*/for(j=i+l;j<cnt;j++)if(b[i]>b[j])(temp=b[i];b[i]=bU];b[j]=temp;voidreadDat()(inti;FILE*fp;fp=fopen(HIN20.DAT,,,nrM);for(i=0;i<MAX;i++)fscanf(fp,"%d'\&a[i]);fclose(fp);Jvoidmain()int

readDatO;jsValO;printf("滿足條件的數(shù)=%d\n”,cnt);for(i=0:i<cnt;i++)printf(',%d,\b[i]);printf(,,\nM);writeDatO;voidwriteDatO(FILE*fp;inti;fp=fopen(“OUT20.DAT"Jw");fprintf(fp/'%d\n**,cnt);for(i=0;i<cnt;i++)fprintf(fp,,,%d\n,,,b[i]);fclose(fp);}第二十一道已知數(shù)據(jù)文件IN21.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVal(),其功能是:如果一個(gè)4位數(shù)的千位數(shù)字上的值大于等于百位數(shù)字上的值,百位數(shù)字上的值大丁等于十位數(shù)字上的值,以及十位數(shù)字上的值大于等于個(gè)位數(shù)字上的值,并且此4位數(shù)是奇數(shù),則統(tǒng)計(jì)出滿足此條件的數(shù)的個(gè)數(shù)ent并把這些4位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDal()把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到OUT21.DAT文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:ento請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)readDal。和寫函數(shù)writeDat。的內(nèi)容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVal()(六定義循環(huán)控制變量*/了定義變量保存六定義循環(huán)控制變量*/了定義變量保存4位數(shù)的每位數(shù)字*/產(chǎn)定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*//*求4位數(shù)的千位數(shù)字*/尸求4位數(shù)的百位數(shù)字號(hào)/*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)a4HM000;a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;

if((a4>=a3)&&(a3>=a2)&&(a2>=al)&&al%2!=0){ /*如果千位數(shù)大于等于百位數(shù),百位數(shù)大于等于十位數(shù),十位數(shù)大于等于個(gè)位數(shù),并且此數(shù)是奇數(shù)*/b[cnt]=a[i];cnt++;/*則將滿足條件的數(shù)存入數(shù)組b中*/b[cnt]=a[i];cnt++;/*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*/for(i=0;i<cnt-l;i++)/*將數(shù)組b中的數(shù)按從小到大的順序排列*/for(j=i+l;j<cnt;j++)if(b[i]>b[j])(temp=b[i];b[i]=b[j];b[j]=temp;voidreadDat()(inti;FILE*fp;fp=fopen("IN21.DAT","rH);for(i=0;i<MAX;i++)fscanf(fp,"%dM9&a[i]);fclose(fp);Jvoidmain()(inti;readDat();jsValO;printf("滿足條件的數(shù)=%d\n”,cnt);for(i=0;i<cnt;i++)printf(H%d'\b[i]);printf("\iT);writeDat();)voidwriteDatO(FILE*fp;inti;fp=fopen('OUT21.DAT,\"w");

fprintf(fp,H%d\nH,cnt);for(i=0;i<cnt;i++)fprintf(fp,,,%d\n",b[i]);fclose(fp);}第二十二道已知數(shù)據(jù)文件IN22.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsVal(),其功能是:如果一個(gè)4位數(shù)的千位數(shù)字上的值加十位數(shù)字上的值恰好等于百位數(shù)字上的值加上個(gè)位數(shù)字上的值,并且此4位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的數(shù)的個(gè)數(shù)ent并把這些4位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到OUT22.DAT文件中。注意:部分源程序已給出.程序中已定義數(shù)組:a[200],b[200],已定義變量:ent。請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)readDat。和寫函數(shù)writeDat。的內(nèi)容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVal()(/*定義循環(huán)控制變量*//*定義循環(huán)控制變量*//*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*//*求4位數(shù)的千位數(shù)字*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)(a4=a[i]/1000;a3=a[i]%1000/100; /*求4位數(shù)的百位數(shù)字*/a2=a[i]%100/10; /*求4位數(shù)的十位數(shù)字*/al=a[i]%10; /*求4位數(shù)的個(gè)位數(shù)字*/if(a4+a2==a3+al&&al%2==0){ /*如果千位數(shù)加十位數(shù)等于百位數(shù)加上個(gè)位數(shù),并且此數(shù)是偶數(shù)*/b[cnt]=a[i]; /*則將滿足條件的數(shù)存入數(shù)組b中*/cnt++; /*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*/})for(i=0;i<cnt-l;i++) /*將數(shù)組b中的數(shù)按從小到大的順序排列*/for(j=i+l;j<cnt;j++)if(b[i]>b[j])(temp=b[i];b[i]=bU];b[j]=temp;voidreadDat()inti;FILE*fp;fp=fopen(,,IN22.DAT,',HrH);for(i=0;i<MAX;i++)fscanf(fp,H%dM,&a[i]);fclose(fp);}voidmain()(inti;readDat();jsVal();prindT滿足條件的數(shù)=%d\n”,cnt);fbr(i=O;i<cnt;i++)printf("%dM,b[i]);writeDatO;}voidwriteDaK)(FILE*fp;inti;fp=fopen(”O(jiān)UT22.DAT”Jw”);fprintf(fp,M%d\nM,cnt);for(i=0;i<cnt;i++)fprintf(fp,,,%d\n,,,b[i]);fclose(fp);}第二十三道已知數(shù)據(jù)文件IN23.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中。請(qǐng)編制一函數(shù)jsVal(),其功能是:如果一個(gè)4位數(shù)的千位數(shù)字上的值加個(gè)位數(shù)字上的值恰好等于百位數(shù)字上.的值加上十位數(shù)字上的值,并且此4位數(shù)是奇數(shù),則統(tǒng)計(jì)出滿足此條件的數(shù)的個(gè)數(shù)ent并把這些4位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果ent以及數(shù)組b中符合條件的4位數(shù)輸出到OUT23.DAT文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:cn“請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)rcadDat。和寫函數(shù)writcDat。的內(nèi)容。

#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVaK)(intij; /*定義循環(huán)控制變量*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++){a4=a[i]/10(M);a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;if((a4+al==a3+a2)&可{b[cnt]=a[i];cnt++;)}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)if(b[i]>bU])(temp=b[i];b[i]=b[j);b[j]=temp;))voidreadDat()(inti;FILE*fp;fp=fopen(nIN23.DATH,HrH);for(i=0;i<MAX;i++)fscanf(fpJ%d”,&a[iD;fclose(fp);/*定義變量保存4位數(shù)的每位數(shù)字*//*定義數(shù)據(jù)交換時(shí)的暫存變量*//*逐個(gè)取每一個(gè)4位數(shù)*//*求4位數(shù)的千位數(shù)字*//*求4位數(shù)的百位數(shù)字*//*求4位數(shù)的十位數(shù)字*//*求4位數(shù)的個(gè)位數(shù)字*/&al%2==1) /*如果千位數(shù)加個(gè)位數(shù)等于百位數(shù)加十位數(shù),并且此數(shù)是奇數(shù)/*則將滿足條件的數(shù)存入數(shù)組b中*//*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*//*將數(shù)組b中的數(shù)按從小到大的順序排列*/

inti;readDat();jsValO;printf("滿足條件的數(shù)=%d\n”,cnt);fbr(i=O;i<cnt;i++)printf("%dn,b[i]);printf(H\nH);writeDat();voidwriteDat(){FILE*fp;inti;fp=fopen(,,OUT23.DAT,,,,,wH);fprintf(fp,M%d\nn,cnt);for(i=0;i<cnt;i++)fprintf(fp,H%d\nM,b[i]);fclose(fp);)第二十四道已知數(shù)據(jù)文件IN24.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這些數(shù)存入數(shù)組a中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論