版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
上機(jī)試題總結(jié)作者:GAME.JACK轉(zhuǎn)自中國(guó)IT認(rèn)證實(shí)驗(yàn)室IT社區(qū)
100個(gè)產(chǎn)品銷(xiāo)售記錄排序(此類(lèi)共10題)
code:
/*
已知在文件IN.DAT中存有100個(gè)產(chǎn)品銷(xiāo)售記錄,每個(gè)產(chǎn)品銷(xiāo)售
記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱(chēng)me(字符型10位),單價(jià)
dj(整型),數(shù)量si(整型),金額je(長(zhǎng)整型)五部分組成。其中:
金額=單價(jià)*數(shù)量計(jì)算得出。函數(shù)ReadDat()讀取這100個(gè)銷(xiāo)售記錄
并存入結(jié)構(gòu)數(shù)組sell中。請(qǐng)編制函數(shù)SortDat(),其功能要求:
按金額從小到大進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從小到大
進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中。最后main()函
數(shù)調(diào)用函數(shù)WriteDatO把結(jié)果輸出到文件OUTLDAT中。
注意:部分源程序存放在PR0G1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDatO和輸出數(shù)據(jù)函
數(shù)WriteDat()的內(nèi)容。
*/
Sinclude<stdio.h>
#include<mem.h>
#include<string.h>
Sinclude<conio.h>
Sinclude<stdlib.h>
SdefineMAX100
typedefstruct{
chardm[5];/*產(chǎn)品代碼*/
charmc[ll];/*產(chǎn)品名稱(chēng)*/
intdj;/*單價(jià)*/
intsi;/*數(shù)量*/
longje;/*金額*/
}PRO;
PROsell[MAX];
voidReadDat0;
voidWriteDat();
voidSortDat()
{/**/
inti,j,k;
PROtt;
for(i=0;i<MAX-1;i++)
{k=i;
for(j=i+l;j<MAX;j++)
if((sell[k].je>sell[j].je)||(sei1[k].je==sel1[j].je)&&(stremp(sell[k]
.dm,sell[j].dm)>0))
if(k!=i)
{tt=sell[k];sell[k]=sell[i];sellEi]=tt;}
}
/**/
)
voidmain()
(
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
)
voidReadDat()
(
FILE*fp;
charstr[80],ch[l1];
inti;
fp=fopen(〃IN.DAT〃,〃r〃);
for(i=0;i<100;i++){
fgets(str,80,fp);
memcpy(sellEi],dm,str,4);
memcpy(sell[i].me,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].si=atoi(ch);
sell[i].je=(long)sellEi],dj*sell[i].si;
)
fclose(fp);
)
voidWriteDat()
(
FILE*fp;
inti;
fp=fopen(〃0UTLDAT”,〃w〃);
for(i=0;i<100;i++){
fprintf(fp,〃%s%s%4d%5d%101d\n〃,sell[i].dm,sell[i].me,sell[i].dj,
sell[i].si,sell[i].je);
fclose(fp)
)
100個(gè)產(chǎn)品銷(xiāo)售記錄排序其余9題說(shuō)明
1)in.dat內(nèi)容完全相同。
2)程序也基本雷同,僅排序的要求不一樣。
3)考生應(yīng)熟悉strcmpO函數(shù),否則有的題相當(dāng)不好處理。
之二
排序要求:
按金額從小到大進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從大到小
進(jìn)行排列
相應(yīng)語(yǔ)句:
if(sell[k].je>sell[j].je||(sell[k].je==sell[j].je)&&
(strcmp(sell[k].dm,sell[j].dm)<0))
之三
排序要求:
按金額從大到小進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從小到大
進(jìn)行排列
相應(yīng)語(yǔ)句:
if((sell[k].je<
sei1[j].je)||(sell[k].je==sel1[j].je)&&(strcmp(sell[k].dm,
sell[j].dm)>0))
之四
排序要求:
按金額從大到小進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從大到小
進(jìn)行排列
相應(yīng)語(yǔ)句:
if((sell[k].je<
sell[j].je)||(sell[k].je==sell[j].je)&&(strcmp(sell[k].dm,sell[j].dm)
<0))
之五
排序要求:
按產(chǎn)品名稱(chēng)從小到大進(jìn)行排列,若產(chǎn)品名稱(chēng)相同,則按金額從小
到大進(jìn)行排列
相應(yīng)語(yǔ)句:
if((strcmp(sell[k].me,
sei1[j].me)>0)||(strcmp(sell[k].me,sell[j].me)==0)&&(sell[k].je>sell[
j].je))
之六
排序要求:
按產(chǎn)品名稱(chēng)從小到大進(jìn)行排列,若產(chǎn)品名稱(chēng)相同,則按金額從大
到小進(jìn)行排列
相應(yīng)語(yǔ)句:
if(strcmp(sell[i].me,sell[j].me)>0||(stremp(sell[i].me,
sell[j].mc)==0)&&.(sell[i].je<sell[j].je))
之七
排序要求:
按產(chǎn)品名稱(chēng)從大到小進(jìn)行排列,若產(chǎn)品名稱(chēng)相同,則按金額從小
到大進(jìn)行排列
相應(yīng)語(yǔ)句:
if((stremp(sell[k].me,sell[j].me)<0)||
(stremp(sell[k].me,sell[j].mc)==0)&&(sell[k].je>sell[j].je))
之八
排序要求:
按產(chǎn)品名稱(chēng)從大到小進(jìn)行排列,若產(chǎn)品名稱(chēng)相同,則按金額從大
到小進(jìn)行排列
相應(yīng)語(yǔ)句:
if((stremp(sell[k].me,sell[j].me)<0)|)(stremp(sei1[k].me,
sell[j].mc)==0)&&(sell[k].je<sell[j].je))
之九
排序要求:
按產(chǎn)品代碼從小到大進(jìn)行排列,若產(chǎn)品代碼相同,則按金額從小
到大進(jìn)行排列
相應(yīng)語(yǔ)句:
if((stremp(sell[k].dm,
sell[j].dm)>0)||(stremp(sell[k].dm,sell[j].dm)==0)&&(sell[k].je>sell[
j].je
code:
/*
已知在文件IN.DAT中存有100個(gè)產(chǎn)品銷(xiāo)售記錄,每個(gè)產(chǎn)品銷(xiāo)售
記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱(chēng)me(字符型10位),單價(jià)
dj(整型),數(shù)量si(整型),金額je(長(zhǎng)整型)五部分組成。其中:
金額=單價(jià)*數(shù)量計(jì)算得出。函數(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中。最后main。
函數(shù)調(diào)用函數(shù)WriteDatO把結(jié)果輸出到文件OUT10.DAT中。
注意:部分源程序存放在PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat。和輸出數(shù)據(jù)函
數(shù)WriteDatO的內(nèi)容。
*/
^include<stdio.h>
ttinclude<mem.h>
Sinclude<string.h>
Sinclude<conio.h>
Sinclude<stdlib.h>
#defineMAX100
typedefstruct{
chardm[5];/*產(chǎn)品代碼*/
charme[11];/*產(chǎn)品名稱(chēng)*/
intdj;/*單價(jià)*/
intsi;/*數(shù)量*/
longje;/*金額*/
}PRO;
PROselHMAX];
voidReadDat();
voidWriteDat();
voidSortDat()
{/**/
inti,j;
PROtt;
for(i=0;i<MAX-1;i++)
for(j=i+l;j<MAX;j++)
{if(stremp(sell[i].dm,sell[j].dm)<0)
{tt=sell[i];sell[i]=sell[j];sell[j]=tt;}
if((stremp(sell[i].dm,sell[j].dm)==0)&&(sell[i].je<sell[j].je))
{tt=sell[i];sell[i]=sell[j];sell[j]=tt;}
)
/**/
)
voidmain()
(
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat0;
)
voidReadDat()
(
FILE*fp;
charstr[80],ch[ll];
inti;
fp=fopen(〃IN.DAT”,〃r〃);
for(i=0;i<100;i++){
fgets(str,80,fp);
memcpy(sell[i].dm,str,4);
memcpy(sell[i].me,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].si=atoi(ch);
sell[i].je=(long)sell[i].dj*sell[i].si
)
fclose(fp);
)
voidWriteDat()
(
FILE*fp;
inti;
fp=fopen(“0UT10.DAT”,〃w〃);
for(i=0;i<100;i++){
fprintf(fp,,z%s%s%4d%5d%101d\nz,,sell[i].dm,sell[i].me,sell[i].dj,
sell[i],si,sell[i].je);
)
fclose(fp);
)
老槍
300個(gè)四位數(shù)問(wèn)題(此類(lèi)共10題)
本類(lèi)10題中,五題產(chǎn)生數(shù)組B,并對(duì)B按一定要求排序;
其余五題是求平均值。我把它們分成兩組五題來(lái)討論。
以下為產(chǎn)生數(shù)組B之題一:
code:
/*
已知數(shù)據(jù)文件IN.DAT中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)
readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsvalue(),其功
能是:求出個(gè)位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位
數(shù)上的數(shù)大于零的個(gè)數(shù)ent,再把所有滿(mǎn)足此條件的四位數(shù)依次
存入數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。
最后main()函數(shù)調(diào)用寫(xiě)函數(shù)writeDat()把數(shù)組b中的數(shù)輸出到文
件OUT.DATo
例如:1239,9-1-2-3>0,則該數(shù)滿(mǎn)足條件存入數(shù)組b中,且
個(gè)數(shù)cnt=cnt+lo
8129,9-8-1-2<0,則該數(shù)不滿(mǎn)足條件忽略。
注意:部分源程序存在文件PR0G1.C文件中。
程序中已定義數(shù)組:a[300],b[300],已定義變量:ent
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main。、讀
函數(shù)readDat()和寫(xiě)函數(shù)writeDat()的內(nèi)容。
*/
Sinclude<stdio.h>
inta[300],b[300],cnt=0:
jsvalue()
{/**/
inti,j,k,t;
for(i=0;i<300;i++)
if(a[i]%10-a[i]/1000-a[i]/100%10-a[i]/10%10>0)
b[cnt++]=a[i];
for(i=0;i<cnt-1;i++)
{k=i;
for(j=i+l;j<ent;j++)
if(b[k]<b[j])k=j;
if(k!=i){t=b[k];b[k]=b[i];b[i]=t;}
)
/**/
)
main()
{
inti;
readDat();
jsvalue();
writeDat();
printf("cnt=%d\rT,ent);
for(i=0;i<ent;i++)printf(zzb[%d]=%d\nz,,i,b[i]);
)
readDat()
(
FILE*fp;
inti;
fp=fopen("in.dat","r");
for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);
fclose(fp);
)
writeDat()
(
FILE*fp;
inti;
fp=fopen("out.dat","w");
fprintf(fp,"96d\n",ent);
for(i=0;i<ent;i++)fprintf(fp,"%d\n",b[i]);
fclose(fp);
)
要求:
求出所有這些四位數(shù)是素?cái)?shù)的個(gè)數(shù)ent,再把所有滿(mǎn)足此
條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從小到
大的順序進(jìn)行排序。
out.dat文件內(nèi)容應(yīng)當(dāng)為:
30
1231
1277
1283
1319
2543
2609
3793
3911
4013
4549
4817
4933
5591
5843
5939
6733
6791
6841
6871
6917
7297
7369
7703
8101
8221
8941
9013
9461
9689
9887
之四
要求:
求出千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位
數(shù)上的數(shù)大于零的個(gè)數(shù)ent,再把所有滿(mǎn)足此條件的四位數(shù)依次
存入數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從小到大的順序進(jìn)行排序。
out.dat文件內(nèi)容應(yīng)當(dāng)為:
20
4002
4102
5111
5400
6014
6302
7050
7105
7113
8101
8130
8203
8221
8303
8700
9013
9016
9052
9053
9800
之五
要求:
求出千位數(shù)上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個(gè)
位數(shù)上的數(shù)的個(gè)數(shù)ent,再把所有滿(mǎn)足此條件的四位數(shù)依次存入
數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。
out.dat文件內(nèi)容應(yīng)當(dāng)為:
22
7795
7429
7328
7153
6978
6767
6556
6226
5591
5555
5427
4509
4013
3672
3663
3205
3131
2855
2763
2543
2507
1625
老槍
求滿(mǎn)足條件的數(shù)的個(gè)數(shù)、平均值……
求滿(mǎn)足條件的數(shù)的個(gè)數(shù)、平均值及不滿(mǎn)足條件的數(shù)的平均
值等,此類(lèi)也是五題。本處僅給出一個(gè)全題,其余題只給出不同
之處。
code:
/*
已知數(shù)據(jù)文件IN.DAT中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)
readDatO把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsvalue(),其功
能是:求出千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位
數(shù)上的數(shù)大于零的個(gè)數(shù)ent,再求出所有滿(mǎn)足此條件的四位數(shù)平
均值pjzl,以及所有不滿(mǎn)足此條件的四位數(shù)平均值pjz2。最后
main()函數(shù)調(diào)用寫(xiě)函數(shù)writeDat()把結(jié)果ent,pjzl,pjz2輸出到
OUT.DAT文件。
例如:9123,9T-2-3>0,則該數(shù)滿(mǎn)足條件計(jì)算平均值pjzl,
且個(gè)數(shù)cnt=cnt+l0
9812,9-8-1-28,則該數(shù)不滿(mǎn)足條件計(jì)算平均值pjz2。
注意:部分源程序存在文件PR0G1.C文件中。
程序中已定義數(shù)組:a[300],已定義變量:ent,pjzl,pjz2
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main。、讀
函數(shù)readDat()和寫(xiě)函數(shù)writeDat()的內(nèi)容。
*/
ttinclude
inta[300],cnt=O;
doublepjzl=0.0,pjz2=0.0;
jsvalue()
{/**/
inti;
for(i=0;i<300;i++)
if(a[i]/1000-a[i]/100%10-a[i]/10%10-a[i]%10>0)
{cnt++;pjzl+=a[i];}
elsepjz2+=a[i];
if(ent)pjzl/=cnt;
if(cnt<300)pjz2/=300-cnt;
/**/
)
mainO
(
inti;
readDat();
jsvalue();
writeDat();
printf(z,cnt=%d\n滿(mǎn)足條件的平均值pzjl=%7.21f\n不滿(mǎn)足條件的平均值
pzj2=%7.21f\n〃,ent,pjzl,pjz2);
}‘
readDat()
(
FILE*fp;
inti;
fp=fopen(〃in.dat〃,〃r〃);
for(i=0;i<300;i++)fscanf(fp,〃%d,〃,&aLi]);
fclose(fp);
)
writeDat()
(
FILE*fp;
inti;
fp=fopen(〃out.dat〃,〃w〃);
fprintf(fp,,z%d\n%7.21f\n%7.21f\nz,,ent,pjzl,pjz2);
fclose(fp);
in.dat與前面給出的完全相同,out.dat內(nèi)容應(yīng)當(dāng)如下:
20
7389.55
5524.03
滿(mǎn)足條件數(shù)的平均數(shù)……四題之說(shuō)明
之二
要求:
求出千位數(shù)上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個(gè)
位數(shù)上的數(shù)的個(gè)數(shù)ent,再求出所有滿(mǎn)足此條件的四位數(shù)平均值
pjzl,以及所有不滿(mǎn)足此條件的四位數(shù)平均值pjz2。
正確程序生成的out.dat文件內(nèi)容應(yīng)當(dāng)如下:
22
4876.86
5709.46
之三
要求:
求出個(gè)位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位
數(shù)上的數(shù)大于零的個(gè)數(shù)ent,再求出所有滿(mǎn)足此條件的四位數(shù)平
均值pjzl,以及所有不滿(mǎn)足此條件的四位數(shù)平均值pjz2。
正確程序生成的out.dat文件內(nèi)容應(yīng)當(dāng)如下:
12
2926.08
5761.83
之四
要求:
求出所有這些四位數(shù)是素?cái)?shù)的個(gè)數(shù)ent,再求出所有滿(mǎn)足
此條件的四位數(shù)平均值pjzl,以及所有不滿(mǎn)足此條件的四位數(shù)平
均值pjz2o
正確程序生成的out.dat文件內(nèi)容應(yīng)當(dāng)如下:
30
5782.87
5633.46
之五
要求:
求出千位數(shù)上的數(shù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十
位數(shù)上的數(shù)的個(gè)數(shù)ent,再求出所有滿(mǎn)足此條件的四位數(shù)平均值
pjzl,以及所有不滿(mǎn)足此條件的四位數(shù)平均值Pjz2。
正確程序生成的out.dat文件內(nèi)容應(yīng)當(dāng)如下:
18
6681.22
5582.48
老槍
200個(gè)四位數(shù)(此類(lèi)共10題)
此部分題與300個(gè)數(shù)的題有相似之處。
之一
code:
/*
已知數(shù)據(jù)文件IN.DAT中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)
readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsValO,其
功能是:把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新
十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字
是原四位數(shù)的十位數(shù)字),以及把個(gè)位數(shù)字和百位數(shù)字組成另一
個(gè)新的十位數(shù)cd(新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,
新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字),如果新組成的兩
個(gè)十位數(shù)ab〉cd,ab必須是偶數(shù)且能被5整除,cd必須是奇數(shù),同
時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從
大到小的順序存入數(shù)組b中,并要計(jì)算滿(mǎn)足上述條件的四位數(shù)的
個(gè)數(shù)ent。最后main。函數(shù)調(diào)用寫(xiě)函數(shù)writeDat()把結(jié)果ent以
及數(shù)組b中符合條件的四位數(shù)輸出到OUT.DAT文件中。
注意:部分源程序存在文件PR0G1.C文件中。
程序中已定義數(shù)組:a[200],b[200],已定義變量:ent
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main。、讀
函數(shù)readDat。和寫(xiě)函數(shù)writeDat()的內(nèi)容。
*/
Sinclude<stdio.h>
#defineMAX200
inta[MAX],b[MAX],ent=0;
voidjsVal()
{/**/
inti,j,k,A,B,C,D;
for(i=0;i<MAX;i++)
{A=a[i]/1000;B=a[i]/10%10;C=a[i]%10;D=a[i]/100%10;
if(A&&C&&(B==0)&&(D%2)&&(1O*A>10*C+D))
b[cnt++]=a[i];
for(i=0;i<cnt-l;i++)
{k=i;
for(j=i+l;j<ent;j++)
if(b[k]<b[j])k=j;
if(k!=i){A=b[k];b[k]=b[i];b[i]=A;}
)
/**/
voidreadDat()
(
inti;
FILE*fp;
fp=fopen("in.dat〃,〃r〃);
for(i=0;i<MAX;i++)fscanf(fp,〃%d〃,&a[i]);
fclose(fp);
)
voidmain()
(
inti;
readDat();
jsVal();
printf(〃滿(mǎn)足條件的數(shù)二%d\n〃,ent);
for(i=0;i<ent;i++)printf(z,%d",b[i]);
printf(〃\n〃);
writeDat();
)
writeDat()
{
FILE*fp;
inti;
fp=fopen("out.dat〃,〃w〃);
fprintf(fp,〃%d\n〃,ent);
for(i=0;i<ent;i++)fprintf(fp,〃%d\n”,b[i]);
fclose(fp);
200個(gè)四位數(shù)題之其余九題說(shuō)明
之二
要求:
把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)(新十
位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是
原四位數(shù)的十位數(shù)字),以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)
新的十位數(shù)(新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新十
位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字),如果新組成的兩個(gè)十
位數(shù)均是素?cái)?shù)且新數(shù)的十位數(shù)字均不為零,則將滿(mǎn)足此條件的四
位數(shù)按從大到小的順序存入數(shù)組b中,并要計(jì)算滿(mǎn)足上述條件的
四位數(shù)的個(gè)數(shù)cnto
out.dat的內(nèi)容應(yīng)當(dāng)為:
10
9971
8398
7711
6375
4719
4173
2736
2398
2397
1997
之三
要求:
把個(gè)位數(shù)字和千位數(shù)字重新組成一個(gè)新的十位數(shù)(新十
位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是
原四位數(shù)的千位數(shù)字),以及把百位數(shù)字和十位數(shù)字組成另一個(gè)
新的十位數(shù)(新十位數(shù)的十位數(shù)字是原四位數(shù)的百位數(shù)字,新十
位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),如果新組成的兩個(gè)十
位數(shù)必須是一個(gè)奇數(shù),另一個(gè)為偶數(shù)并且兩個(gè)十位數(shù)中至少有一
個(gè)數(shù)能被17整除,同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿(mǎn)足
此條件的四位數(shù)按從大到小的順序存入數(shù)組b中,并要計(jì)算滿(mǎn)足
上述條件的四位數(shù)的個(gè)數(shù)cnto
out.dat的內(nèi)容應(yīng)當(dāng)為:
7
8656
8174
7781
7683
4313
4173
2513
之四
要求:
)把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal(),其
功能是:把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新
十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字
是原四位數(shù)的十位數(shù)字),以及把個(gè)位數(shù)字和百位數(shù)字組成另一
個(gè)新的十位數(shù)cd(新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,
新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字),如果新組成的兩
個(gè)十位數(shù)ab-cd>=10且ab-cd<=20且兩個(gè)數(shù)均是偶數(shù),同時(shí)兩個(gè)新
數(shù)的十位數(shù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從大到小的
順序存入數(shù)組b中,并要計(jì)算滿(mǎn)足上述條件的四位數(shù)的個(gè)數(shù)cnto
out.dat的內(nèi)容應(yīng)當(dāng)為:
5
9068
5224
5024
3821
2281
之五
要求:
如果四位數(shù)各位上的數(shù)字均是0或2或4或6或8,則統(tǒng)計(jì)
出滿(mǎn)足此條件的個(gè)數(shù)ent,并把這些四位數(shù)按從大到小的順序存
入數(shù)組b中。
out.dat的內(nèi)容應(yīng)當(dāng)為:
11
8448
6820
4488
4060
2888
2884
2686
2624
2484
2420
2042
之六
要求:
把千位數(shù)字和個(gè)位數(shù)字重新組成一個(gè)新的十位數(shù)(新十
位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是
原四位數(shù)的個(gè)位數(shù)字),以及把百位數(shù)字和十位數(shù)字組成另一個(gè)
新的十位數(shù)(新十位數(shù)的十位數(shù)字是原四位數(shù)的百位數(shù)字,新十
位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),如果新組成的兩個(gè)十
位數(shù)均是奇數(shù)并且兩個(gè)十位數(shù)中至少有一個(gè)數(shù)能被5整除,同時(shí)
兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從大
到小的順序存入數(shù)組b中,并要計(jì)算滿(mǎn)足上述條件的四位數(shù)的個(gè)
數(shù)cnto
out.dat的內(nèi)容應(yīng)當(dāng)為:
10
9851
8275
6375
5755
5359
4951
4595
4395
3575
3135
之七
要求:
把個(gè)位數(shù)字和千位數(shù)字重新組成一個(gè)新的十位數(shù)(新十
位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是
原四位數(shù)的千位數(shù)字),以及把百位數(shù)字和十位數(shù)字組成另一個(gè)
新的十位數(shù)(新十位數(shù)的十位數(shù)字是原四位數(shù)的百位數(shù)字,新十
位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),如果新組成的兩個(gè)十
位數(shù)均是偶數(shù)并且兩個(gè)十位數(shù)中至少有?個(gè)數(shù)能被9整除,同時(shí)
兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從大
到小的順序存入數(shù)組b中,并要計(jì)算滿(mǎn)足上述條件的四位數(shù)的個(gè)
數(shù)cnto
out.dat的內(nèi)容應(yīng)當(dāng)為:
13
8761
8724
8441
6722
6603
6545
6323
6181
4369
4285
4125
2724
2362
之八
要求:
把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新
十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字
是原四位數(shù)的十位數(shù)字),以及把個(gè)位數(shù)字和百位數(shù)字組成另一
個(gè)新的十位數(shù)cd(新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,
新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字),如果新組成的兩
個(gè)十位數(shù)ab同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按
從大到小的順序存入數(shù)組b中,并要計(jì)算滿(mǎn)足上述條件的四位數(shù)
的個(gè)數(shù)cnto
out.dat的內(nèi)容應(yīng)當(dāng)為:
12
7878
5437
3897
2893
2877
2438
2039
2035
2033
1619
1494
1493
之九
要求:
如果四位數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計(jì)出滿(mǎn)足此條
件的個(gè)數(shù)ent并把這些四位數(shù)按從大到小的順序存入數(shù)組b中。
out.dat的內(nèi)容應(yīng)當(dāng)為:
13
9971
7973
7711
7511
5755
5359
5311
3575
3537
3135
1997
1979
1531
之十
要求:
把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新
十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字
是原四位數(shù)的十位數(shù)字),以及把個(gè)位數(shù)字和百位數(shù)字組成另一
個(gè)新的十位數(shù)cd(新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,
新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字),如果新組成的兩
個(gè)十位數(shù)ab-cd>=0且ab-cd<=10且兩個(gè)數(shù)均是奇數(shù),同時(shí)兩個(gè)新
數(shù)的十位數(shù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從大到小的
順序存入數(shù)組b中,并要計(jì)算滿(mǎn)足上述條件的四位數(shù)的個(gè)數(shù)cnto
out.dat的內(nèi)容應(yīng)當(dāng)為:
5
8398
7996
5954
4313
2311
老槍
小于200個(gè)四位數(shù)之一(共四題)
code:
/*
已知在文件IN.DAT中存有若干個(gè)(個(gè)數(shù)〈200)四位數(shù)字的正整
數(shù),函數(shù)ReadDat()讀取這若干個(gè)正整數(shù)并存入數(shù)組xx中。請(qǐng)編
制函數(shù)Calvalue(),其功能要求:1.求出這文件中共有多少個(gè)
正整數(shù)totNum;2.求出這些數(shù)中的各位數(shù)字之和是奇數(shù)的數(shù)的個(gè)
數(shù)totCnt,以及滿(mǎn)足此條件的這些數(shù)的算術(shù)平均值totPjz。最后
main()函數(shù)調(diào)用函數(shù)WriteDat。把所求的結(jié)果輸出到OUT.DAT文
件中。
注意:部分源程序存放在PR0G1.C中。
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù),主函數(shù)main。、讀
數(shù)據(jù)函數(shù)ReadDatO和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
*/
ttinclude<stdio.h>
Sinclude<conio.h>
#defineMAXNUM200
intxx[MAXNUM];
inttotNum=0;/*文件IN.DAT中共有多少個(gè)正整數(shù)*/
inttotCnt=0;/*符合條件的正整數(shù)的個(gè)數(shù)*/
doubletotPjz=0.0;/*平均值*/
intReadDat(void);
voidWriteDat(void);
voidCalvalue(void)
{/**/
while(xx[totNum])
{if((xx[totNum]/1000+xx[totNum]/100%10+xx[totNum]/10%10+xx[totNum])%
2)
{totCnt++;totPjz+=xx[totNum];}
totNum++;
)
if(totCnt)totPjz/=totCnt;
1**1
voidmain()
{
inti;
clrscr();
for(i=0;i<MAXNUM;i++)xx[i]=0;
if(ReadDat()){
printf(〃數(shù)據(jù)文件IN.DAT不能打開(kāi)!\007\n〃);
return;
)
Calvalue();
printf(〃文件IN.DAT中共有正整數(shù)二%d個(gè)\n〃,totNum)
printf(〃符合條件的正整數(shù)的個(gè)數(shù)二%d個(gè)\n〃,totCnt);
printf(〃平均值二%.21f\n〃,totPjz);
WriteDat();
intReadDat(void)
FILE*fp;
inti=0;
if((fp=fopen("in.dat","r"))==NULL)return1;
while(!feof(fp)){
fscanf(fp,級(jí)d,”,&xx[i++]);
)
fclose(fp);
return0;
)
voidWriteDat(void)
{
FILE*fp;
fp=fopen("0UT.DAT","w");
fprintf(fp,z/%d\n%d\n%.21f\nz/,totNum,totCnt,totPjz)
fclose(fp);
)
in.dat文件內(nèi)容如下:
6045,6192,1885,3580,8544,6826,5493,8415,3132,5841,
6561,3173,9157,2895,2851,6082,5510,9610,5398,5273,
3438,1800,6364,6892,9591,3120,8813,2106,5505,1085,
5835,7295,6131,9405,6756,2413,6274,9262,5728,2650,
6266,5285,7703,1353,1510,2350,4325,4392,7573,8204,
7358,6365,3135,9903,3055,3219,3955,7313,6206,1631,
5869,5893,4569,1251,2542,5740,2073,9805,1189,7550,
4362,6214,5680,8753,8443,3636,4495,9643,3782,5556,
1018,9729,8588,2797,4321,4714,9658,8997,2080,5912,
9968,5558,9311,7047,6138,7618,5448,1466,7075,2166,
4025,3572,9605,1291,6027,2358,1911,2747,7068,1716,
9661,5849,3210,2554,8604,8010,7947,3685,2945,4224,
7014,9058,6259,9503,1615,1060,7787,8983,3822,2471,
5146,7066,1029,1777,7788,2941,3538,2912,3096,7421,
9175,6099,2930,4685,8465,8633,2628,7155,4307,9535,
4274,2857,6829,6226,8268,9377,9415,9059,4872,6072,
out.dat文件內(nèi)容應(yīng)當(dāng)如下:
160
69
5460.51
老槍
小于200個(gè)四位數(shù)之二(共四題)
code:
/*
已知在文件IN.DAT中存有若干個(gè)(個(gè)數(shù)<200)四位數(shù)字的正整
數(shù),函數(shù)ReadDat()讀取這若干個(gè)正整數(shù)并存入數(shù)組xx中。請(qǐng)編
制函數(shù)Calvalue(),其功能要求:1.求出這文件中共有多少個(gè)
正整數(shù)totNum;2.求出這些數(shù)中的各位數(shù)字之和是偶數(shù)的數(shù)的個(gè)
數(shù)totCnt,以及滿(mǎn)足此條件的這些數(shù)的算術(shù)平均值totPjz。最后
main()函數(shù)調(diào)用函數(shù)WriteDatO把所求的結(jié)果輸出到OUT.DAT文
件中。
注意:部分源程序存放在PR0G1.C中。
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù),主函數(shù)main。、讀
數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
*/
Sinclude
#include
#defineMAXNUM200
intxx[MAXNUM];
inttotNum=0;/*文件IN.DAT中共有多少個(gè)正整數(shù)*/
inttotCnt=0;/*符合條件的正整數(shù)的個(gè)數(shù)*/
doubletotPjz=0.0;/*平均值*/
intReadDat(void);
voidWriteDat(void);
voidCalvalue(void)
{/**/
for(;xx[totNum];totNum++)
if((xx[totNum]/1000+xx[totNum]/100%10+xx[totNum]/10%10+xx[totNum]%10)
%2==0)
{totCnt++;totPjz+=xx[totNum];}
if(totCnt)totPjz/=totCnt;
/**/
voidmain()
(
inti;
clrscr();
for(i=0;i<MAXNUM;i++)xx[i]=0;
if(ReadDat()){
printf(〃數(shù)據(jù)文件IN.DAT不能打開(kāi)!\007\n〃)
return;
Calvalue();
printf(〃文件IN.DAT中共有正整數(shù)二%d個(gè)\n〃,totNum)
printf(〃符合條件的正整數(shù)的個(gè)數(shù)二%d個(gè)\n〃,totCnt);
printf("平均值=%21f\n",totPjz)
WriteDat();
intReadDat(void)
(
FILE*fp;
inti=0;
if((fp=fopen("in.dat","r"))==NULL)return1;
while(!feof(fp)){
fscanf(fp,"%d,”,&xx[i++]);
)
fclose(fp);
return0;
)
voidWriteDat(void)
(
FILE*fp;
fp=fopen("0UT.DAT","w");
fprintf(fp,z,%d\n%d\n%.21f\nz/,totNum,totCnt,totPjz)
fclose(fp);
out.dat文件內(nèi)容應(yīng)當(dāng)如下:
160
91
5517.16
200個(gè)四位數(shù)之三(共四題)
code:
/*
已知在文件IN.DAT中存有若干個(gè)(個(gè)數(shù)〈200)四位數(shù)字的正整
數(shù),函數(shù)ReadDat()讀取這若干個(gè)正整數(shù)并存入數(shù)組xx中。請(qǐng)編
制函數(shù)Calvalue(),其功能要求:1.求出這文件中共有多少個(gè)
正整數(shù)totNum;2.求這些數(shù)右移1位后,產(chǎn)生的新數(shù)是奇數(shù)的數(shù)
的個(gè)數(shù)totCnt,以及滿(mǎn)足此條件的這些數(shù)(右移前的值)的算術(shù)平
均值totPjZo最后main。函數(shù)調(diào)用函數(shù)WriteDat。把所求的結(jié)果
輸出到文件OUT.DAT中。
注意:部分源程序存放在PR0G1.C中。
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù),主函數(shù)main。、讀
數(shù)據(jù)函數(shù)ReadDat。和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
*/
Sinclude
ttinclude
ttdefineMAXNUM200
intxx[MAXNUM];
inttotNum=0;/*文件IN.DAT中共有多少個(gè)正整數(shù)*/
inttotCnt=0;/*符合條件的正整數(shù)的個(gè)數(shù)*/
doubletotPjz=0.0;/*平均值*/
intReadDat(void);
voidWriteDat(void);
voidCalvalue(void)
{/**/
for(;xx[totNum];totNum++)
if((xx[totNum]?1)%2)
{totCnt++;totPjz+=xx[totNum];}
if(totCnt)totPjz/=totCnt;
/**/
)
voidmain()
(
inti;
clrscr();
for(i=0;i<MAXNUM;i++)xx[i]=0;
if(ReadDat()){
printf(〃數(shù)據(jù)文件IN.DAT不能打開(kāi)!\007\n〃);
return;
}
Calvalue();
printf(〃文件IN.DAT中共有正整數(shù)二%d個(gè)\n〃,totNum)
printf(〃符合條件的正整數(shù)的個(gè)數(shù)二%d個(gè)\n〃,totCnt);
printf(〃平均值二%.21f\n〃,totPjz);
WriteDat();
)
intReadDat(void)
(
FILE*fp;
inti=0;
if((fp=fopen(〃in.dat〃,〃r〃))==NULL)return1
while(!feof(fp)){
fscanf(fp,"%d,”,&xx[i++]);
)
fclose(fp);
return0;
)
voidWriteDat(void)
{
FILE*fp;
fp=fopen("OUT.DAT","w");
fprintf(fp,z,%d\n%d\n%.21f\nz/,totNum,totCnt,totPjz)
fclose(fp);
}
out.dat文件內(nèi)容應(yīng)當(dāng)如下:
160
80
5537.54
老槍
小于200個(gè)四位數(shù)之四(共四題)
code:
/*
已知在文件IN.DAT中存有若干個(gè)(個(gè)數(shù)<200)四位數(shù)字的正整
數(shù),函數(shù)ReadDat()讀取這若干個(gè)正整數(shù)并存入數(shù)組xx中。請(qǐng)編
制函數(shù)Calvalue(),其功能要求:1.求出這文件中共有多少個(gè)
正整數(shù)totNum;2.求這些數(shù)右移1位后,產(chǎn)生的新數(shù)是偶數(shù)的數(shù)
的個(gè)數(shù)totCnt,以及滿(mǎn)足此條件的這些數(shù)(右移前的值)的算術(shù)平
均值totPjzo最后main()函數(shù)調(diào)用函數(shù)WriteDat()把所求的結(jié)果
輸出到文件OUT.DAT中。
注意:部分源程序存放在PR0G1.C中。
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù),主函數(shù)main。、讀
數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
*/
^include
Sinclude
#defineMAXNUM200
intxx[MAXNUM];
inttotNum=0;/*文件IN.DAT中共有多少個(gè)正整數(shù)*/
inttotCnt=0;/*符合條件的正整數(shù)的個(gè)數(shù)*/
doubletotPjz=0.0;/*平均值*/
intReadDat(void);
voidWriteDat(void);
voidCalvalue(void)
{/**/
for(;xx[totNum]>0;totNum++)
if((xx[totNum]?1)%2==0)
{totCnt++;totPjz+=xx[totNum];}
if(totCnt)totPjz/=totCnt;
/**/
}
voidmain()
(
inti;
clrscr();
for(i=0;i<MAXNUM;i++)xx[i]=0;
if(ReadDat()){
printf(〃數(shù)據(jù)文件IN.DAT不能打開(kāi)!\007\n〃);
return;
)
Calvalue();
printf(〃文件IN.DAT中共有正整數(shù)二%d個(gè)\n〃,totNum)
printf(〃符合條件的正整數(shù)的個(gè)數(shù)二%d個(gè)\n〃,totCnt);
printf(〃平均值二%.21f\n〃,totPjz);
WriteDat();
intReadDat(void)
(
FILE*fp;
inti=0;
if((fp=fopenCin.dat",”「〃))==NULL)return1
while(!feof(fp)){
fscanf(fp,〃%d,〃,&xx[i++]);
)
fclose(fp);
return0;
voidWriteDat(void)
FILE*fp;
fp=fopen("OUT.DAT","w");
fprintf(fp,z/%d\n%d\n%.21f\nzz,totNum,totCnt,totPjz)
fclose(fp);
)
out.dat文件內(nèi)容應(yīng)當(dāng)如下:
160
80
5447.93
老槍
英文文章——字符串處理(共10題)
之一
code:
/*
函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到
字符串?dāng)?shù)組xx中;請(qǐng)編制函數(shù)SortCharD(),其函數(shù)的功能是:以
行為單位對(duì)字符按從大到小的順序進(jìn)行排序,排序后的結(jié)果仍按行
重新存入字符串?dāng)?shù)組xx中。最后mainO函數(shù)調(diào)用函數(shù)WriteDatO把
結(jié)果xx輸出到文件OUT2.DAT中。
例:原文:dAe,BfC.
CCbbAA
結(jié)果:fedCBA.,
bbCCAA
原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含
標(biāo)點(diǎn)符號(hào)和空格。
注意:部分源程序存放在PR0G1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函
數(shù)WriteDat()的內(nèi)容。
*/
^include<stdio.h>
Sinclude<string.h>
Sinclude<conio.h>
charxx[50][80];
intmaxiine=0;/*文章的總行數(shù)*/
intReadDat(void);
voidWriteDat(void);
voidSortCharD(void)
{/**/
inti,j,k,m,n;charch;
for(i=0;i<maxline;i++)
{j=strlen(xx[i]);
for(m=0;m<j-1;m++)
{k=m;
for(n=m+l;n<j;n++)
if(xx[i][k]<xx[i][n])k=n;
if(k!=m)
{ch=xx[i][k];xx[i][k]=xx[i][m];xx[i][m]=ch;}
)
)
/**/
}
voidmain()
(
clrscr();
if(ReadDat()){
printf(〃數(shù)據(jù)文件IN.DAT不能打開(kāi)!\n\007〃);
return;
}
SortCharD();
WriteDat();
)
intReadDat(void)
(
FILE*fp;
inti=0;
char*p;
if((fp=fopenClN.DAV,〃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;
)
voidWriteDat(void)
FILE*fp
inti;
clrscr();
fp=fopen(〃0UT2.DAT”,〃w〃);
for(i=0;i<maxiine;i++){
printf(〃%s\n〃,xx[i]);
fprintf(fp,〃如\n〃,xx[i]);
)
fclose(fp);
}
in.dat文件內(nèi)容為:
Youcancreateanindexonanyfield,onseveralfieldstobe
used
together,oronpartsthereof,thatyouwanttouseasakey.
The
keysinindexesallowyouquickaccesstospecificrecordsand
define
ordersforsequentialprocessingofaISAMfile.Afteryouno
longer
needanindex,youcandeleteit.Additionandindexeshaveno
effect
onthedatarecordsoronotherindexes.
Youmaywantafieldinfieldineachrecordtouniquely
identifythat
recordfromallotherrecordsinthefile.Forexample,the
Employee
Numberfieldisuniqueifyoudonotassignthesamenumberto
two
differentemployees,andyouneverreassignthesenumbersto
other
employees.Ifyouwishtofindormodifytherecordbelonging
toa
specificemployee,thisuniquefieldsavesthethoubleof
determining
whetheryouhavethecorrectrecord.
Ifyoudonothaveauniquefield,youmustfindthefirst
record
thematchesyourkeyanddeterminewhethertherecordisthe
oneyou
want.Ifitisnotthecorrectone,youmustsearchagainto
findothers.
Ifyouknowthatyouhaveauniquefieldwithinyourrecords,
you
canincludethisfactinthekeydescription,andISAMwill
allowonly
uniquekeys.Forexample,ifyouspecifythattheemployee
numbersare
unique,ISAMonlyletsyouaddrecordstothefilefor,or
change
numbersto,employeenumbersthatdonotalreadlyexistint
file.
out2.dat文件內(nèi)容應(yīng)當(dāng)為:
yxvuuttsssrroooonnnnnnlHiiiffeeeeeeeeeddddccbaaaaaY,
yywuuttttttttsssrrrrpoooooonnkhhhhgfeeeeeeeaaaaaT.,,
yyxwuutssssssrrqpoooonnnnllkkiiiiiiffeeeeeeeeddddccccccaaa
yuuttssssrrrrrrqpooooooonnnnl1liiiggffffeeeeeeedcaaSMIAA.
yxxvuttttsooonnnnnnnnliiiiihffeeeeeeeeeeedddddddccaaaaA.,
xtttssrrrrooooonnnihheeeeedddcaa.
yyywuuutttttrrqooonnnnnmllliiiiiiihhfffeeeeeeddddccaaaaaY
yxtttsrrrrrrrppoooooonmmmllllliihhhffeeeeeeeeeeddccaaFE.,
ywuuuuuttttssssrrqooooonnnnmmmliiiiihgffeeeeeeddbbaaN
yyvuuttttsssssrrrrrpoooonnnnnmmliihhgffeeeeeeeeeeeeddbaa,
yyywutttssrrrpoooooooonnnmmlliiiihhggfffeeeeeedddcbal.
yvuuuttttssssrqppooonnnmmllliiiiiiihhhgfffeeeeeeeeeeeddccba,
ywvutttrrrrrooohhhheeeeeedccca.
yyvuuuuuttttssrrrqooooonnnmliiiihhffffeeeeeddddcaal,
yyywuuttttttssrrrrroooonnnmmkiihhhhhheeeeeeeeeeeedddccaa
ywuuttttttttssssrrrroooooonnnnnmiiiihhhgffeeeeedcccaaaal..,
yyyywvuuuuuutttsrrrqoooooonnnlkiiiihhhffeeeeddcaaal,
yywwuttttssrpooonnnnnnllllllkiiiiiihhfeeeedddccccaaaaSMIA,
yyyyxuuuutttsssrrrqpppooonnmmmlIkiiihhffeeeeeeeeeeecbaaaF.,
yyuuutttssrrrrqoooooonnnl11iihhgffeeeeeedddccaaSMIA,,
yyxuuttttttsssrrrpoooonnnnmmmlIlliiihfeeeeeeeeddbbaaa.,
字符串處理之二
code:
/*
函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入
到字符串?dāng)?shù)組xx中;請(qǐng)編制函數(shù)ConvertCharAO,其函數(shù)的功能
是:以行為單位把字符串中的所有小寫(xiě)字母改寫(xiě)成該字母的下一
個(gè)字母,如果是字母z,則改寫(xiě)成字母a,大寫(xiě)字母和其它字符保
持不變。把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中。最
后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT3.DAT
中。
例:原文:Adb.Bcdza
abck.LLhj
結(jié)果:Aec.Bdeab
bcdl.LLik
原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含
標(biāo)點(diǎn)符號(hào)和空格。
注意:部分源程序存放在PR0G1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat。和輸出數(shù)據(jù)函
數(shù)WriteDat()的內(nèi)容。
*/
Sinclude
Sinclude
Sinclude
charxx[50][80];
intmaxiine=0;/*文章的總行數(shù)*/
intReadDat(void);
voidWriteDat(void);
voidConvertCharA(void)
{/**/
inti,j;
for(i=0;i<maxline;i++)
for(j=0;j<strlen(xx[i]);j++)
if(xx[i][j]==,T!)xx[i][j]=,;
elseif((xx[i]a')&&(xx[i][j]<'z'))xx[i][j]++;
1**1
)
voidmain()
(
clrscr();
if(ReadDat()){
printf(〃數(shù)據(jù)文件IN.DAT不能打開(kāi)!\n\007〃);
return;
)
ConvertCharA();
WriteDat();
)
intReadDat(void)
FILE*fp
inti=0;
char*p;
if((fp=fopenClN.DAV,〃/))==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;
clrscr();
fp=fopenC0UT3.DAV,Vz);
for(i=0;i<maxiine;i++){
printf(級(jí)s\n〃,xx[i]);
fprintf(fp,xx[i]);
)
fclose(fp);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)畫(huà)故宮課件教學(xué)課件
- 2024年保衛(wèi)服務(wù)合同
- (完整版)特種設(shè)備應(yīng)急預(yù)案
- 2024年建筑工地木工班組勞務(wù)承包合同
- 2024年度生態(tài)補(bǔ)償機(jī)制實(shí)施合同
- 2024年應(yīng)急運(yùn)輸響應(yīng)合同
- 激勵(lì)學(xué)生課件教學(xué)課件
- 2024年度教育設(shè)備采購(gòu)與維護(hù)合同
- 2024年度歐洲汽車(chē)制造與銷(xiāo)售合同
- 2024年大宗商品物流合同
- 消毒供應(yīng)中心技能考核操作評(píng)分標(biāo)準(zhǔn)
- 蓮藕的貯藏保鮮技術(shù)
- 油氣地質(zhì)儲(chǔ)量計(jì)算及評(píng)價(jià)
- 【2023高血壓患者服藥依從性研究(論文)2800字】
- 寬帶接入合同
- 陰陽(yáng)五行學(xué)說(shuō) PowerPoint 演示文稿 全面版【PPT課件】
- 測(cè)定總糖原始記錄
- 混凝土強(qiáng)度自動(dòng)評(píng)定表格
- 大學(xué)生心理稿范文800字(優(yōu)選9篇)-1
- 北京科技大學(xué)EMC-VNX5300實(shí)施文檔
- 氨分解制氫安全技術(shù)要求3
評(píng)論
0/150
提交評(píng)論