




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1
已知數(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。、讀函赤eadDat()和寫函數(shù)whteDat()的內(nèi)容。
試題程序:
#include<stdio.h>
#defineMAX200
inta[MAXLbMAX],cnt=O;
voidwriteDat();
voidjsVal()
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
(
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a4%2!=0&&a3%2!=0&&a2%2!=0&&a1%2!=0)
(
b[cnt]=a[i];
cnt++;
)
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
(
temp=b[i];
b[i]=b[j];
b[j]=temp;
voidreadDat()
inti;
FILE*fp;
fp=fopen("IN1.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d'',&a[i]);
fclose(fp);
voidmain()
inti;
readDat();
jsVal();
滿足條件的數(shù)=%小優(yōu)5。;
:or(i=0;i<cnt;i++)
printf("%d\n\b[i]);
printfC'\n");
writeDat();
voidwriteDat()
(FILE*fp;
inti;
fp=fopen("out1.dat","w");
fprintf(fp?%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"%d\n",b[i]);
fclose(fp);
2
已知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。、讀函薪readDat()和寫函數(shù)writeDat。的內(nèi)容。
試題程序:
include<stdio.h>
#defineMAX200
inta[MAX],b[MAX],ent=0;
voidwriteDat();
voidjsVal()
{.
inti,j;
inttemp;
for(i=0;i<MAX-5;i++)
if(a[i]%2!=0)
for(j=i+1;j<=i+5;j++)
(
if(a[i]<a[j])
break;
elseif(j==i+5)
b[cnt]=a[i];
cnt++;
}
)
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]>bU])
(
temp=b[i];
b[i]=bU];
b[j]=temp;
bidreadDat()
(
inti;
FILE*fp;
fp=fopen("IN2.DAT","r");
for(i=0;i<MAX;i++)fscanf(fp,"%d",&a[i]);
fclose(fp);
)
voidmain()
(
inti;
readDat();
jsVal();
printf("滿足條件的數(shù)=%d\n",ent);
for(i=0;i<ent;i++)printf("%d",b[i]);
printf("\n");
writeDat();
)
voidwriteDat()
(
FILE*fp;
inti;
fp=fopen("OUT2.DAT","w");
fprintf(fp,"%d\n",ent);
for(i=0;i<ent;i++)fprintf(fp,"%d\n",b[i]);
fclose(fp);
)
3
已知在文件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ù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件
OUT3.DAT中。
注意:部分源程序已給出。
請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)ReadDat。和寫函數(shù)WriteDat。的內(nèi)容。
試題程序:
#include<stdio.h>
#include<memory.h>
#include<string.h>
#include<stdlib.h>
#defineMAX100
typedefstruct
chardm[5];/*產(chǎn)品代眄*1
charmc[111;I*產(chǎn)品茗稱*1
intdi;I*單價(jià)*1
intsi;I*數(shù)量*1
longje;I*金額*/
}PRO;
PROsell[MAX];
voidReaaDat();
voidWriteDatQ;
voidSortDat()
inti,j;
PROtemp;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(strcmp(sell[i].mc,sell[j].mc)>0)
(
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
)
elseif(strcmp(sell[i].mc,sell[j].mc)==O)
if(sell[i].je>sell[j].je)
(
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
)
voidmain()
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
voidReadDat()
(FILE*fp;
charstr[80],ch[11];
inti;
fp=fopen("IN3.DAT","r");
for(i=0;i<100;i++)
(fgets(str,80,1
fp);
memcp.,y(sell[[ii.dm,str,4);
memcpby(sellll[[!i'.me,str+4,10);
memcpyistr+14,4);ch[4]=0;
?sell[i].dj-=s5(ch);_
memcpy(ch,str+18,5);ch[5]=0;
sell[i].sl=atoi(ch);
sell[ij.je=(long)sell[i].dj*sell[i].sl;
:close(fp);
vo{
fp;
p
o0UT3.DAT","w";
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);
:close(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*11mod256(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<stdlib.h>
#include<stdio.h>
include<string.h>
#include<ctype.h>
unsignedcharxx[50][801;
intmaxline=0;/*文簟的總行數(shù)7
intReadDat(void);
voidWriteDat(void);
voidencryptChar()
inti,j;
intstr;
charch;
for(i=0;i<maxline;i++)
(
str=strlen(xx[i]);
for(j=0;j<str;j++)
(
ch=xx[i][j]*11%256;
if(ch<=32||ch>130)
continue;
else
xx[i][j]=ch;
)
}
voidmain()
sCcLS
訐ysemDauD
.(Read
printf("數(shù)據(jù)文件ENG4.IN不能打開!\n\007");
return;
encryptChar();
WriteDat();
intReadDat(void)
FILE*fp;
inti=0;
unsignedchar*p;
if((fp=fopen("ENG4.IN","r"))==NULL)return1;
while(fgets(xx[i],80,fp)!=NULL)
^=)strchr^xx[i],'\n');
i++;
maxline=i;
fclose(fp);
return0;
voidWriteDat(void)
日
.LtEE*fp
Ini=;f=openc
i<Jn
fpo;+w
f.or(i)+
printf("%s\n",xx[il);
fprintf(fp,"%s\n",xx[i]);
:close(fp);
函數(shù)ReadDat()的功能是實(shí)現(xiàn)從文件IN5.DAT中讀取一篇英文文章存入到字符
串?dāng)?shù)組xx中。請(qǐng)編制函數(shù)ConvertCharA(),該函數(shù)的功能是:以行為單位把字符串
中的所有小寫字母改寫成該字母的下一個(gè)字母,如果是字母z,則改寫成字母a。大
寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字符不變。把已處理的字符串
仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)WriteDat。把結(jié)果xx輸出到文件
OUT5.DAT中。
例如,原文:Adb.Bcdza
abck.LLhj
結(jié)果:Aec.Bdeab
bcdl.LLik
原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格。
注意:部分源程序已給出。
請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)ReadDat。和寫函數(shù)WriteDat。的內(nèi)容。
試題程序:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
charxx[50][801;
intmaxline=0;/*文章的總行數(shù)*/
intReadDat(void);
voidWriteDat(void);
voidConvertCharA(void)
inti,j;
intstr;
for(i=0;i<maxline;i++)
(
str=strlen(xx[i]);
for(j=0;j<str;j++)
if(xx[i][j]>='a'&&xx[i][j]<='z')
if(xx[i]U]=='z')
xx[i]U]='a';
else
xx[ilU]+=1;
}
voidmain()
(systemC'CLS");
if(ReadDat())
(printf("數(shù)據(jù)文件IN5.DAT不能打開!\n\007");
return;
ConvertCharA();
WriteDat();
intReadDat(void)
(FILE*fp;
inti=0;
char*p'
if((fp=fopen("IN5.DAT","r"))==NULL)return1;
while(fgets(xx[i],80,fp)!=NULL)
^=)strchr^xx[i],'\n');
i++;
)「.
maxhne=i;
fclose(fp);
return0;
voidWriteDat(void)
日
.LE
Inti;fpwcx
“
sypZdLs仇"kDAT
ysten5.
fp=foivmUTHne;,+
for(i=axI+?
printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
lclose(fp);
)
6
在文件IN6.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ù)whteDat()把結(jié)果bb輸出到文件OUT6.DAT中。
例如:處理前90125099601270258088
處理后50998088702560129012
注意:部分源程序已給出。
請(qǐng)勿改動(dòng)主函數(shù)main。、讀函數(shù)readDat()和寫函數(shù)whteDat()的內(nèi)容。
試題程序:
#include<stdio.h>
#include<string.h>
#include<stdlio.h>
intaa[200],bb[10];
voidreadDatQ;
voidwriteDatQ;
voidjsSort()
inti,j;
inttemp;
for(i=0;i<199;i++)
for(j=i+1;j<200;j++)
(
if(aa[i]%1000<aa[j]%1000)
(
temp=aa[i];
aa[i]=aa[j];
aa[j]=temp;
}
elseif(aa[i]%1000==aa[j]%1000)
if(aa[i]>aa[j])
(
temp=aa[i];
aa[i]=aa[j];
aa[j]=temp;
}
}
for(i=0;i<10;i++)
bb[i]=aa[i];
voidmain()
readDat();
jsSort();
writeDat();
voidreadDat()
1FILE*in;
inti;
in=fopen("IN6.DAT","r");
for(i=0;i<200;i++)fscanf(in,"%d,",&aa[i]);
fclose(in);
voidwriteDat()
{FILE*out;
inti;
out=fopenCOUT6.DAT","w");
systemrCLS");
for(i=0;i<10;i++)
printf("i=%d,%d\n",i+1,bb[i]);
fprintr(out,"%d\n",bb[i]);
)
fclose(out);
7
函數(shù)ReadDat()的功能是實(shí)現(xiàn)從文件IN7.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,BfC
CCbbAA
結(jié)果:fedCBA,
bbCCAA
原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格。
注意:部分源程序已給出。
請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WriteDat()的內(nèi)容。
試題程序:
#include<stdio.h>
#include<string.h>
#include<stdlio.h>
charxx[50][80];
intmaxline=0;
intReadDat(void);
voidWriteDat(void);
voidSortCharD()
inti,j,k;
intstr;
chartemp;
for(i=0;i<maxline;i++)
(
str=strlen(xx[i]);
for(j=0;j<str-1;j++)
for(k=j+1;k<str;k++)
if(xx[i][j]<xx[i][k])
(
temp=xx[i][j];
xx[i][j]=xx[i][k];
xx[i][k]=temp;
}
}
voidmain()
(system("CLS");
if(ReadDat())
phntf("數(shù)據(jù)文件IN7.DAT不能打開!\n\007");
return;
^ortCharD();
WriteDat();
intReadDat(void)
(FILE*fp;
inti=0;
char*n*
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;
voidWriteDat()
(FILE*fp;
inti;
system("CLS");
fp=fopen("OUT7.DAT","w");
for(i=0;i<maxline;i++)
(printf("%s\n",xx[i]);
fprintf(fp,"%s\n';xx[i]);
lclose(fp);
8
對(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ù)ReadDat()的功能是把選票數(shù)據(jù)讀入到字符串?dāng)?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ù)WriteDat。的內(nèi)容。
試題程序:
#include<stdio.h>
#include<memory.h>
charxx[100][11];
intyy[10];
intReadDat(void);
voidWriteDat(void);
voidCountRs(void)
inti,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]=='1')
cnt++;
if(cnt>5)
(
for(j=0;j<10;j++)
if(xx[i]U]=='1')
yy[j]++;
}
}
voidmain()
inti;
for(i=0;i<10;i++)
yy[i]=0;
if(ReadDat())
{printf("選票數(shù)據(jù)文件IN8.DAT不能打開!\007\n");
return;
LountRs();
WriteDatQ;
intReadDat(void)
(FILE*fp;
inti;
chartt[13];
if((fp=fopen("IN8.DAT","r"))==NULL)
return1;
for(i=0;i<100;i++)
{if(fgets(tt,13,fp)==NULL)
return1;
memcpy(xx[i],tt,10);
lclose(fp);
return0;
voidWnteDat(void)
日
.LEtE*fp
In
i=;fo=pe0UT8.DAT","w";
fpo;10;i++)
fo.r(i
fprintfffp,"%d\n",yy[i]);
printf9第%d個(gè)人隨嬲數(shù)=%d\n",i+1,yy[i]);
fclose(fp);
)
9
下列程序的功能是:利用以下所示的簡(jiǎn)單迭代方法求方程:
cos(x)-x=0的一個(gè)實(shí)根。
Xn+1=COS(Xn)
迭代步驟如下:
(1)取x1初值為0.0。
(2)x0=x1,把x1的值賦給x0。
(3)x1=cos(x0),求出一個(gè)新的x1。
(4)若x0-x1的絕對(duì)值小于0.000001,執(zhí)行步驟(5),否則執(zhí)行步驟(2)。
(5)所求x1就是方程cos(x卜x=0的一個(gè)實(shí)根,作為函數(shù)值返回。
請(qǐng)編寫函數(shù)countvalue()實(shí)現(xiàn)程序要求,最后調(diào)用函數(shù)wiiteDAT()把結(jié)果輸出
到文件out9.dat中。
注意:部分源程序已給出。
請(qǐng)勿改動(dòng)主函數(shù)main。和寫函數(shù)whteDAT()的內(nèi)容。
試題程序:
include<stdlib.h>
#include<math.h>
include<stdio.h>
voidwriteDAT();
floatcountValue()
floatx0,x1=0.0;
while(1)
(
x0=x1;
x1=cos(x0);
if(fabs(x0-x1)<1e-6)break;
}
returnx1;
)
voidmain()
(system("CLS");
'$tR=%f\n",countValue());
'%An",cos(countValue())-countValue());
}aAT();
voidwriteDAT()
(FILE*wf;
wf=fopen("out9.dat","w");
fprintt\wf/%f\n",countValue());
fclose(wf);
)
10
請(qǐng)編寫函數(shù)voidcountValue(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<stdlib.h>
#include<stdio.h>
voidwriteDAT();
voidcountValue(int*a,int*n)
inti;
*n=0;
for(i=1;i<=1000;i++)
if((i%7==0&&i%11!=0)||(i%7!=0&&i%11==0))
*a=i;
*n=*n+1;
a++;
)
)
voidmain()
(intaa[1000],n,k;
system("CLS");
countValue(aa,&n);
for(k=0;k<n;k++)
if((k+1)%10==0)
(printf("%5d",aa[k]);
printf("\n");
else,printf("%5d",aa[k]);
writeDAT();
)
voidwriteDAT()
intaa[1000],n,k;
FILE*fp;
fp=fopen("out10.dat","w");
countValue(aa,&n);
for(k=0;k<n;k++)
if((k+1)%10==0)
(fprintf(fp,"%5d",aa[k]);
fprintf(fp,"\n");
elsefprintf(fp,"%5d",aa[k]);
fclose(fp);
)
11
已知在文件IN11.DAT中存有若干個(gè)(個(gè)數(shù)<200)4位數(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,以及滿足此條件的這些數(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>
include<stdlib.h>
#defineMAXNUM200
intxx[MAXNUMl;
inttotNum=0;A文件IN11.DAT中共有多少個(gè)正整數(shù)*/
inttotCnt=0;/*符備條件的正整數(shù)的個(gè)數(shù)*/
doubletotPjz=0.0;/*—值*/
intReadDat(void);
voidWriteDat(void);
voidCalValue(void)
inti;
intdata;
for(i=0;i<200;i++)
if(xx[i]>0)
(
totNum++;
data=xx[i]?1;
if(data%2==0)
(
totCnt++;
totPjz+=xx[i];
}
}
totPjz/=totCnt;
m
cX1
temiS'AXNUM
sy/S耨<M++
Ko
fwo=u
.RavD
printf("數(shù)據(jù)文件IN11.DAT不能打開!\007\n");
return;
CalValueQ;
printf("文柞IN11.DAT中共有正整數(shù)=%d個(gè)\n",totNum);
phntf"符合條件的正整數(shù)的個(gè)數(shù)=%d個(gè)\n",totCnt);
printf^平均值=%.2lf\n",totPjz);
乎WriteDat();
intReadDat(void)
(FILE*fp;
inti=0;
if((fp=fopen("IN11.DAT","r"))==NULL)
return1;
while(!feof(fp))
{fscanf(fp,"%d,",&xx[i++]);
lclose(fp);
return0;
)
voidWriteDat(void)
{FILE*fp;
fp=fopen("OUT11.DAT","w");
fprintf(fp,"%d\n%d\n%.2lf\n",totNum,totCnt,totPjz);
fclose(fp);
)
12
已知數(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,6+2=7+1,則該數(shù)滿足條件,存入數(shù)組b中,且個(gè)數(shù)cnt=cnt+10
8129,8+9R1+2,則該數(shù)不滿足條件,忽略。
注意:部分源程序已給出。
程序中已定義數(shù)組:a[300],b[300],已定義變量:ent。
請(qǐng)勿改動(dòng)主函數(shù)main。、讀函薪readDat()和寫函數(shù)writeDat。的內(nèi)容。
試題程序:
include<stdio.h>
inta[300],b[300],cnt=O;
voidreadDatQ;
voidwriteDat();
voidjsValue()
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<300;i++)
(
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a4+a1==a3+a2)
(
b[cnt]=a[i];
cnt++;
)
)
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]>b[j])
(
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
)
voidmain()
inti;
readDat();
jsValue();
writeDati);
printfC'cnt=%d\n",ent);
for(i=0;i<cnt;i++)
}printf("b[%d]=%d\n",i,b[i]);
voidreadDat()
(FILE*fp;
inti;
fp=fopen("IN12.DAT","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
voidwriteDat()
(FILE*fp;
inti;
fp=fopenCOUT12.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"%d,\n",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。、讀函薪readDat()和寫函數(shù)writeDat。的內(nèi)容。
試題程序:
#include<stdio.h>
#defineMAX200
inta[MAXLb[MAX],ent=0;
voidwriteDat();
voidjsVal()
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
(
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a4%2==0&&a3%2==0&&a2%2==0&&a1%2==0)
(
b[cnt]=a[i];
cnt++;
)
)
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
temp=b[i];
b[i]=b[j];
b[j]=temp;
)
)
voidreadDat()
{inti;
FILE*fp;
fp=fopen("IN13.DAT","r");
for(i=0;i<MAX;i++)fscanf(fp,"%d",&a[i]);
fclose(fp);
voidmain()
(inti;
readDat();
品湍“滿足條件的數(shù)=%d\n",ent);
for(i=0;i<ent;i++)printf("%d",b[i]);
printfpn");
乎writeDat();
voidwriteDat()
{FILE*fp;
inti;
fp=fopen("OUT13.DAT","w");
fprintf(fp,"%d\n",ent);
for(i=0;i<ent;i++)fprintf(fp,"%d\n",b[i]);
fclose(fp);
)
14
已知數(shù)據(jù)文件IN14.DAT中存有300個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這些
數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsValue(),其功能是:求出千位數(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ù)
writeDat()把數(shù)組b中的數(shù)輸出到OUT14.DAT文件。
例如:7153,7+1=5+3,則該數(shù)滿足條件,存入數(shù)組b中,且個(gè)數(shù)cnt=cnt+1。
8129,8+1#2+9,則該數(shù)不滿足條件,忽略。
注意:部分源程序已給出。
程序中已定義數(shù)組:a[300],b[300],已定義變量:ent。
請(qǐng)勿改動(dòng)主函數(shù)main。、原函赤eadDat()和寫函數(shù)writeDat。的內(nèi)容。
試題程序:
#include<stdio.h>
inta[3001,b[300],cnt=O;
voidreadDatQ;
voidwriteDatf);
voidjsValue()
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<300;i++)
(
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a4+a3==a2+a1)
(
b[cnt]=a[i];
cnt++;
)
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
(
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
)
voidmain()
{inti;
readDat();
jsValue();
writeDati);
printf("cn(=%d\n",ent);
for(i=0;i<ent;i++)
乎printf("b[%d]=%d\n",i,b[i]);
voidreadDat()
{FILE*fp;
inti;
fp=fopen("IN14.DAT","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
}fclose(fp);
voidwriteDat()
(FILE*fp;
inti;
fp=fopen("OUT14.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<ent;i++)
fprintf(fp,"%d,\n",b[i]);
fclose(fp);
)
15
已知數(shù)據(jù)文件in15.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ù)輸出到out15.dat文件中。
注意:部分源程序已給出。
程序中已定義數(shù)組:a[200],b[200],已定義變量:ent。
請(qǐng)勿改動(dòng)主函數(shù)main()、讀函藪readDat()和寫函數(shù)writeDat()的內(nèi)容。
試題程序:
#include<stdio.h>
#defineMAX200
inta[MAXLb[MAX],cnt=O;
voidwriteDat();
voidjsVal()
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
(
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if((a4<=a3)&&(a3<=a2)&&(a2<=a1)&&(a1%2==0))
(
b[cnt]=a[i];
cnt++;
}
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]>b[j])
(
temp=b[i];
b[i]=bU];
b[j]=temp;
)
在
*"
濯
fp;崛d
in日
open.
fF+
fp=ol<XId
foscanM?,&a
fclose(J
voidmam()
inti;
readDat();
sVal();
brintfq滿足條件的數(shù)=%d\n",cnt);
:or(i=0;i<cnt;i++)
printf("%d\n\b[i]);
}writeDat();
voidwriteDat()
(FILE*fp;
inti;
fp=fopen("out15.dat","w");
fprintf(fp/%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"%d\n",b[i]);
}fclose(fp);
16
已知數(shù)據(jù)文件IN16.DAT中存有300個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些
數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsValue(),其功能是:求出千位數(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ù)writeDat()把數(shù)組b中的數(shù)輸出到0UT16.DAT文件中。
例如:9123,9-1-2-3>0,則該數(shù)滿足條件,存入數(shù)組b中,且個(gè)數(shù)cnt=cnt+1。
9812,9-8-1-2<0,則該數(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;
voidreadDat();
voidwriteDat();
jsValue()
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<300;i++)
(
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a4-a3-a2-a1>0)
(
b[cnt]=a[i];
cnt++;
)
)
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]>b[j])
(
temp=b[i];
b[i]=b[j];
b[j]=temp;
)
)
voidmain()
(
inti;
readDat();
jsValue();
printf("cnt=%d\n",cnt);
writeDat();
for(i=0;i<cnt;i++)
printf("b[%d]=%d\n",i,b[i]);
voidreadDat()
(
FILE*fp;
inti;
fp=fopen("IN16.DAT","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
)
voidwriteDat()
FILE*fp;
inti;
fp=fopen("OUT1e.DAr/'w");
fprintf(fp,"%d\n",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+1。
8129,9-8-1-2<0,則該數(shù)不滿足條件,忽略。
注意:部分源程序已給出。
程序中已定義數(shù)組:a[300],b[300],已定義變量:ent。
請(qǐng)勿改動(dòng)主函數(shù)main。、讀函或readDat。和寫函數(shù)writeDat。的內(nèi)容。
試題程序:
include<stdio.h>
inta[300],b[300],cnt=0;
voidreadDatQ;
voidwriteDat();
voidjsValue()
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<300;i++)
(
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a1-a3-a2-a4>0)
(
b[cnt]=a[i];
cnt++;
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
temp=b[i];
b[i]=b[j]
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電動(dòng)車安全知識(shí)宣傳教育
- 全民健康教育知識(shí)講座
- 2025屆西平縣三上數(shù)學(xué)期末預(yù)測(cè)試題含解析
- 渠縣紅色文化傳承與發(fā)展
- 知識(shí)產(chǎn)權(quán)保護(hù)教學(xué)課件
- 基礎(chǔ)會(huì)計(jì)習(xí)題及答案
- 工廠電氣安全培訓(xùn)課件
- 水利水電工程專業(yè)知識(shí)試題及答案2024
- 在線支付服務(wù)協(xié)議條款和細(xì)則
- 旅游景點(diǎn)規(guī)劃與設(shè)計(jì)知識(shí)要點(diǎn)
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)2025年第一季度
- 2024年安徽省初中學(xué)業(yè)水平考試生物試題含答案
- 2024年浙江省中考英語試題卷(含答案解析)
- MOOC 理解馬克思-南京大學(xué) 中國(guó)大學(xué)慕課答案
- T∕CAGHP 065.2-2019 地質(zhì)災(zāi)害防治工程工程量清單計(jì)價(jià)規(guī)范(試行)
- 三寶證盟薦亡往生功德文疏
- 鋼結(jié)構(gòu)課程設(shè)計(jì)--鋼結(jié)構(gòu)平臺(tái)設(shè)計(jì)
- 涉及飲用水衛(wèi)生安全產(chǎn)品衛(wèi)生許可證申請(qǐng)表
- 供熱對(duì)供電煤耗影響量的計(jì)算
- 綠城集團(tuán)精裝修驗(yàn)收標(biāo)準(zhǔn)-
- 突發(fā)安全生產(chǎn)事故應(yīng)急救援預(yù)案(現(xiàn)場(chǎng)處理方案)
評(píng)論
0/150
提交評(píng)論