三级网络技术份上机题库1文档格式.docx
- 文档编号:20617254
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:95
- 大小:210.10KB
三级网络技术份上机题库1文档格式.docx
《三级网络技术份上机题库1文档格式.docx》由会员分享,可在线阅读,更多相关《三级网络技术份上机题库1文档格式.docx(95页珍藏版)》请在冰豆网上搜索。
returncnt;
voidmain()
{
intcount;
readDat();
count=jsSort();
/*返回满足条件的个数*/
writeDat(count);
readDat()
{
FILE*in;
inti;
in=fopen("
in.dat"
"
r"
);
i<
i++)
fscanf(in,"
%d%d%d"
&
aa[i].x1,&
aa[i].x2,&
aa[i].x3);
fclose(in);
}
writeDat(intcount)
FILE*out;
clrscr();
out=fopen("
out.dat"
w"
count;
i++){
printf("
%d,%d,%d第一个数+第三个数=%d\n"
bb[i].x1,bb[i].x2,bb[i].x3,bb[i].x1+bb[i].x3);
fprintf(out,"
%d%d%d\n"
bb[i].x1,bb[i].x2,bb[i].x3);
fclose(out);
*****************************************************************************
2.请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;
请编制函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。
计算方差的公式如下:
N-12
totfc=1/N∑(xx[i]-ave1)
i=0
设N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。
原始数据文件存放的格式是:
每行存放10个数,并用逗号隔开。
(每个数均大于0且小于等于2000)
请勿改动主函数main()和输出数据函数writeDat()的内容。
stdlib.h>
#defineMAX1000
intxx[MAX],odd=0,even=0;
doubleave1=0.0,ave2=0.0,totfc=0.0;
voidWriteDat(void);
intReadDat(void)
FILE*fp;
if((fp=fopen("
IN.DAT"
))==NULL)return1;
/*********编制函数ReadDat()的部分************/
for(i=0;
MAX;
{fscanf(fp,"
%d,"
xx[i]);
if((i+1)%10==0)
fscanf(fp,"
\n"
/*******************************************/
fclose(fp);
return0;
voidCompute(void)
{inti,yy[MAX];
yy[i]=0;
if(xx[i]%2){yy[odd++]=xx[i];
ave1+=xx[i];
else{even++;
ave2+=xx[i];
if(odd==0)ave1=0;
elseave1/=odd;
if(even==0)ave2=0;
elseave2/=even;
odd;
totfc+=(yy[i]-ave1)*(yy[i]-ave1)/odd;
i++)xx[i]=0;
if(ReadDat()){
数据文件IN.DAT不能打开!
\007\n"
return;
Compute();
ODD=%d\nAVE1=%f\nAVE2=%f\nTOTFC=%f\n"
odd,ave1,ave2,totfc);
WriteDat();
voidWriteDat(void)
fp=fopen("
OUT.DAT"
fprintf(fp,"
%d\n%f\n%f\n%f\n"
*************************************************************************
3.请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;
请编制函数Compute()分别计算出xx中偶数的个数even,奇数的平均值ave1,偶数的平均值ave2以及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。
计算方差的公式如下:
totfc=1/N∑(xx[i]-ave2)
设N为偶数的个数,xx[i]为偶数,ave2为偶数的平均值。
{inti;
{fscanf(fp,"
if(xx[i]%2==0){yy[even++]=xx[i];
else{odd++;
even;
totfc+=(yy[i]-ave2)*(yy[i]-ave2)/even;
OVEN=%d\nAVE1=%f\nAVER2=%f\nTOTFC=%f\n"
even,ave1,ave2,totfc);
4.函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;
请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。
替代关系:
f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。
部分源程序存在文件prog1.c中。
原始数据文件存放的格式是:
每行的宽度均小于80个字符。
ctype.h>
unsignedcharxx[50][80];
intmaxline=0;
/*文章的总行数*/
intReadDat(void);
voidencryptChar()
{inti,j;
maxline;
for(j=0;
strlen(xx[i]);
if(xx[i][j]*11%256<
=32||xx[i][j]>
='
a'
&
xx[i][j]<
z'
)continue;
elsexx[i][j]=xx[i][j]*11%256;
数据文件ENG.IN不能打开!
\n\007"
encryptChar();
inti=0;
unsignedchar*p;
eng.in"
while(fgets(xx[i],80,fp)!
=NULL){
p=strchr(xx[i],'
\n'
if(p)*p=0;
i++;
maxline=i;
fclose(fp);
return0;
ps5.dat"
i++){
%s\n"
xx[i]);
5.程序prog1.c的功能是:
把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后。
请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()把结果输出到bc2.out文件中。
例如:
s字符串中原有内容为:
Mn.123xyZ,则调用该函数后,结果为:
n.123xyZM。
注意:
部分源程序存在文件prog1.c文件中。
请勿改动主函数main()和输出数据函数readwriteDAT()的内容。
#defineN81
voidreadwriteDAT();
voidchg(char*s)
{inti;
charch=*s;
strlen(s)-1;
s[i]=s[i+1];
s[strlen(s)-1]=ch;
main()
chara[N];
Enterastring:
"
gets(a);
Theoriginalstringis:
puts(a);
chg(a);
Thestringaftermodified:
readwriteDAT();
voidreadwriteDAT()
inti;
chara[N];
FILE*rf,*wf;
rf=fopen("
bc2.in"
"
);
wf=fopen("
bc2.out"
for(i=0;
i<
50;
i++){
fscanf(rf,"
%s"
a);
chg(a);
fprintf(wf,"
fclose(rf);
fclose(wf);
************************************************************************
6.程序PROG1.C的功能是:
将大于整数m且紧靠m的k个素数存入数组xx。
请编写一个函数num(intm,intk,intxx[])实现程序的要求。
最后调用函数readwriteDat()把结果输出到文件out.dat中。
例如:
若输入175则应输出:
19,23,29,31,37。
请勿改动主函数main()和写函数PROG1.C的内容。
voidreadwriteDat();
intisP(intm)
{
for(i=2;
m;
if(m%i==0)return0;
return1;
voidnum(intm,intk,intxx[])
{ints=0;
for(m=m+1;
k>
0;
m++)
if(isP(m)){xx[s++]=m;
k--;
intm,n,xx[1000];
\nPleaseentertwointegers:
"
scanf("
%d%d"
m,&
n);
num(m,n,xx);
for(m=0;
m<
n;
%d"
xx[m]);
readwriteDat();
voidreadwriteDat()
intm,n,xx[1000],i;
FILE*rf,*wf;
rf=fopen("
wf=fopen("
10;
fscanf(rf,"
%d%d"
m++)fprintf(wf,"
fprintf(wf,"
fclose(rf);
fclose(wf);
7.下列程序的功能是:
寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。
所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。
满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。
请编制函数intsvalue(longm)实现此功能,如果是回文数,则函数返回1,反之则返回0。
最后把结果输出到文件out.dat中。
部分源程序已给出。
请勿改动主函数main()的内容。
intjsValue(longn)
{inti,strl,half;
charxy[20];
ltoa(n,xy,10);
/*注意这里不能使用itoa()函数,因为n是long型的*/
strl=strlen(xy);
half=strl/2;
half;
if(xy[i]!
=xy[--strl])break;
if(i>
=half)return1;
elsereturn0;
{longm;
for(m=11;
1000;
{if(jsValue(m)&
jsValue(m*m)&
jsValue(m*m*m))
{printf("
m=%4ld,m*m=%6ld,m*m*m=%8ld\n"
m,m*m,m*m*m);
}
8.函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;
请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS7.DAT中。
f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。
A'
Z'
ps7.dat"
9.将文件IN.DAT中读取200个整数至数组xx中,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。
结果max,cnt,pj输出到OUT.DAT中。
部分程序、读数据函数read_dat(intxx[200])及输出格式已给出。
#defineN200
voidread_dat(intxx[N])
inti,j;
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三级 网络技术 上机 题库