三级网络上机题目与答案Word文件下载.docx
- 文档编号:19555494
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:61
- 大小:168.80KB
三级网络上机题目与答案Word文件下载.docx
《三级网络上机题目与答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《三级网络上机题目与答案Word文件下载.docx(61页珍藏版)》请在冰豆网上搜索。
for(j=1000;
j<
=9999;
j++)
if(i*3==j*2&
&
i/10%10==j/100%10&
j/1000==j/10%10)
{cnt++;
sum=sum+i+j;
}
3请编写函数voidcountValue(int*a,int*n),它的功能是:
求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数,其结果按从小到大的顺序放在数组a中,并通过形式参数n传递这些数的个数。
voidcountValue(int*a,int*n)
{inti,j=0;
for(i=1;
=1000;
i++)
if((i%7==0||i%11==0)&
i%77!
=0)
a[j++]=i;
*n=j;
}
4已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。
最后main()函数调用写函数writeDat()把数组b中的数输出到文件OUT.DAT中
intqw,bw,sw,gw;
intt;
for(i=0;
300;
{qw=a[i]/1000;
bw=a[i]/100%10;
sw=a[i]/10%10;
gw=a[i]%10;
if(qw+bw==sw+gw)
{cnt++;
b[cnt]=a[i];
for(i=0;
cnt-1;
for(j=i+1;
cnt;
if(b[i]<
b[j])
{t=b[i];
b[i]=b[j];
b[j]=t;
5已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及所有不满足此条件的四位数平均值pjz2。
最后main()函数调用写函数writeDat()把结果cnt,pjz1,pjz2输出到OUT.DAT文件
{inti,qw,bw,sw,gw;
a[i]/10%10;
gw=a[i]%10;
if(gw-qw-bw-sw>
0)
pjz1=pjz1+a[i];
else
pjz2=pjz2+a[i];
pjz1=pjz1/cnt;
pjz2=pjz2/(300-cnt);
6函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;
请编制函数SortCharA(),其函数的功能是:
以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。
最后main()函数调用函数WriteDat()把结果xx输出到文件OUT.DAT中。
{inti,j,k;
chart;
maxline;
{for(j=0;
strlen(xx[i])-1;
j++)
for(k=j+1;
k<
strlen(xx[i]);
k++)
if(xx[i][j]>
xx[i][k])
{t=xx[i][j];
xx[i][j]=xx[i][k];
xx[i][k]=t;
7函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;
请编制函数StrOR(),其函数的功能是:
以该文章中的行为单位依次扫描一行字符串中的小写字母o,每次将小写母o的左右字符串部分作交叉换位,即左边字符串移到小写字母o的右边,而原先右边的则反之,并把小写母o删除,依次直至这一行中的小写母o处理完,之后把已处理的字符串仍按行重新存入字符串数组xx中。
{inti,j,k;
chart[80];
{k=0;
for(j=strlen(xx[i])-1;
xx[i][j]!
='
o'
;
j--)
strcpy(t,&
xx[i][j]);
xx[i][j]='
\0'
strcat(t,&
xx[i][0]);
for(j=0;
t[j];
if(t[j]!
)
t[k++]=t[j];
t[k]='
strcpy(xx[i],t);
8函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到无符号字符串数组xx中;
请编制函数ChA(),其函数的功能是:
以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个新的值,存入数组单元xx[i][0]中(其中:
i是文章中的某行)。
第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新的值,存入数组单元xx[i][1]中。
以此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的值,存放在原字符串对应的位置上,之后把已处理的字符串逆转后仍按行重新存入无符号字符串数组xx中。
最后main()函数调用函数WriteDat()把结果xx输出到OUT.DAT文件中。
{inti,j,m,n;
charch;
{ch=xx[i][0];
xx[i][j]=xx[i][j]+xx[i][j+1];
xx[i][j]=xx[i][j]+ch;
for(m=0,n=strlen(xx[i])-1;
m<
m++,n--)
{ch=xx[i][m];
xx[i][m]=xx[i][n];
xx[i][n]=ch;
9已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中。
最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。
{inti,j;
PROt;
99;
for(j=i+1;
100;
if(sell[i].je<
sell[j].je)
{t=sell[i];
sell[i]=sell[j];
sell[j]=t;
elseif(sell[i].je==sell[j].je&
strcmp(sell[i].dm,sell[j].dm)>
0)
10已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。
if(strcmp(sell[i].mc,sell[j].mc)<
elseif(strcmp(sell[i].mc,sell[j].mc)==0&
sell[i].je>
sell[j].je)
{t=sell[i];
11函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到无符号字符串数组xx中;
请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,其替代值仍存入数组xx所对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。
替代关系:
f(p)=p*11mod256,mod为取余运算,p是数组xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:
中间变量定义成整型变量),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则用f(p)替代所对应的字符。
{inti,j,pf;
{pf=xx[i][j]*11%256;
if(pf>
32&
pf<
=130)
xx[i][j]=pf;
12函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到无符号字符串数组xx中;
请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,其替代值仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。
替代关系:
f(p)=p*11mod256,mod为取余运算,p是数组xx中某一个字符的ASCII值,f(p)是计算后无符号的整型值(注意:
中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则用f(p)替代所对应的字符
{inti,j,fp;
{fp=xx[i][j]*11%256;
if(fp<
=32||fp>
a'
&
fp<
z'
;
xx[i][j]=fp;
13函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到无符号字符串数组xx中;
中间变量定义成整型变量),如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则用f(p)替代所对应的字符。
0'
xx[i][j]<
9'
||fp<
=32)
14将文件IN.DAT中的200个整数读至数组xx中。
请编制jsValue()函数,要求:
求出数组xx中的最大数max及最大数的个数cnt和数组xx中的元素值能被3整除或能被7整除的所有数的算术平均值pj。
{inti,n=0;
max=xx[0];
200;
{if(xx[i]>
max)
max=xx[i];
if(xx[i]%3==0||xx[i]%7==0)
{pj=pj+xx[i];
n++;
pj=pj/n;
N;
if(xx[i]==max)
cnt++;
15已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat()把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal(),实现的功能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组c中,再对数组c中的数按从小到大的顺序进行排序,最后调用输出函数writeDat()把结果c输出到文件OUT.DAT中。
组成新数的条件:
如果数组a和b中相同下标位置的数必须符合一个是偶数,另一个是奇数,则数组a中的数按二进制数左移八位后再加上数组b对应位置上的数,把这样组成的新数依次存入数组c中
{inti,j,t;
MAX;
if(a[i]%2==0&
b[i]%2==1||a[i]%2==1&
b[i]%2==0)
c[cnt++]=(a[i]<
<
8)+b[i];
if(c[i]>
c[j])
{t=c[i];
c[i]=c[j];
c[j]=t;
16.程序PROG1.C的功能是:
把s字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a,字母Z改写成字母A,其它字符不做改变。
请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()把结果输出到文件out.dat中。
例如:
s字符串中原有的内容为:
Mn.123Zxy,则调用该函数后,结果为:
No.123Ayz。
voidchg(char*s)
{inti;
s[i];
if(s[i]>
s[i]<
y'
||s[i]>
A'
Y'
s[i]++;
elseif(s[i]=='
)s[i]='
elseif(s[i]=='
Z'
17.程序PROG1.C的功能是:
选出大于100小于1000范围之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的所有素数(如293)。
计算并输出上述这些素数的个数cnt以及这些素数值的和sum。
请考生编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件out.dat中。
{
inti;
for(i=2;
if(n%i==0)
return0;
return1;
{inti,bw,sw,gw;
for(i=101;
1000;
{bw=i/100;
sw=i/10%10;
gw=i%10;
if((gw+sw)%10==bw&
ss(i))
sum=sum+i;
18.程序PROG1.C的功能是:
在三位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b[]中。
条件如下:
某数既是完全平方数,又有两位数字相同,例如144、676等。
intjsValue(intbb[])
{inti,j=0,sws;
for(i=10;
31;
{sws=i*i;
if(sws/100==sws/10%10||sws/100==sws%10||sws/10%10==sws%10)
bb[j++]=sws;
returnj;
19.函数readDat()是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。
请编制函数jsSort(),其函数的功能是:
以行为单位对字符串变量的下标为奇数的位置上的字符按其ASCII值从小到大的顺序进行排序,下标为偶数的位置上的字符仍按原来位置存放,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到out.dat文件中。
例如:
位置01234567
源字符串hgfedcba
则处理后字符串hafcdebg
voidjsSort()
{
inti,j,k;
chart;
for(i=0;
i<
20;
i++)
for(j=1;
j<
strlen(xx[i])-2;
j=j+2)
for(k=j+2;
k<
strlen(xx[i]);
k=k+2)
if(xx[i][j]>
{t=xx[i][j];
xx[i][j]=xx[i][k];
xx[i][k]=t;
20在文件in.dat中已存有200个正整数,且每个数均在1000至9999之间。
函数readDat()是读取这200个数存放到数组aa中。
要求按每个数的后三位的大小进行降序排列,如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排列,将排序后的前10个数存入数组bb中。
最后调用函数writeDat()把结果bb输出到文件out.dat中。
例:
处理前90125099601270258088
处理后50998088702560129012
inti,j,t;
199;
for(j=i+1;
200;
j++)
if(aa[i]%1000<
aa[j]%1000||aa[i]%1000==aa[j]%1000&
aa[i]>
aa[j])
{t=aa[i];
aa[i]=aa[j];
aa[j]=t;
10;
bb[i]=aa[i];
21已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:
把一个四位数的千位数位置上的值减去百位数位置上的值再减去十位数位置上的值最后减去个位数位置上的值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
voidjsVal()
inti,j,t,qw,bw,sw,gw;
qw=a[i]/1000;
bw=a[i]/100%10;
sw=a[i]/10%10;
if(qw-bw-sw-gw>
=0&
a[i]%2==1)
b[cnt++]=a[i];
cnt-1;
cnt;
if(b[i]>
{t=b[i];
b[i]=b[j];
22.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:
把一个四位数的千位数位置上的值加上个位数位置上的值恰好等于百位数位置上的值加上十位数位置上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
if(qw+gw==bw+sw&
23.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:
若一个四位数的千位数位置上的值大于等于百位数位置上的值,百位数位置上的值大于等于十位数位置上的值,以及十位数位置上的值大于等于个位数位置上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的数输出到OUT.DAT文件中。
voidjsVal()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三级 网络 上机 题目 答案