三级网络上机题库及答案文档格式.docx
- 文档编号:18797662
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:71
- 大小:110.75KB
三级网络上机题库及答案文档格式.docx
《三级网络上机题库及答案文档格式.docx》由会员分享,可在线阅读,更多相关《三级网络上机题库及答案文档格式.docx(71页珍藏版)》请在冰豆网上搜索。
n);
jsValue(m,n,zz);
for(m=0;
m<
n;
m++)printf("
%d"
zz[m]);
\n"
writeDat();
writeDat()
intm,n,zz[100],i;
FILE*in,*out;
in=fopen("
in.dat"
"
r"
out=fopen("
out.dat"
w"
10;
i++){
fscanf(in,"
m++)fprintf(out,"
fprintf(out,"
fclose(in);
fclose(out);
}_********************************************************
15_
下列程序prog1.c的功能是:
在三位整数(100至999)中寻
找符合条件的整数并依次从小到大存入数组中;
它既是完全平
方数,又是两位数字相同,例如144、676等。
请编制函数实现此功能,满足该条件的整数的个数通过所
编制的函数返回。
最后调用函数writeDat()把结果输出到文件out.dat中。
intjsValue(intbb[])
{inti,a,d,e,c,p;
p=0;
for(i=10;
32;
{a=i*i;
if(a>
=100&
&
a<
1000)
{c=a/100;
e=(a-c*100)/10;
d=a-c*100-e*10;
if((c==e)||(c==d)||(d==e))
{bb[p]=a;
p++;
returnp--;
intb[20],num;
num=jsValue(b);
writeDat(num,b);
writeDat(intnum,intb[])
FILE*out;
inti;
%d\n"
num);
num;
i++){printf("
b[i]);
fprintf(out,"
17_
下列程序的功能是:
将一正整数序列{K1,K2,...,K9}重新排
列成一个新的序列。
新序列中,比K1小的数都在K1的前面(左面)
,比K1大的数都在K1的后面(右面)。
要求编写函数jsValue()实
现此功能,最后调用writeDat()函数将新序列输出到文件out.dat
中。
说明:
在程序中已给出了10个序列,每个序列有9个正整数
,并存入数组a[10][9]中,分别求出这10个新序列。
例:
序列{6,8,9,1,2,5,4,7,3}
经重排后成为{3,4,5,2,1,6,8,9,7}
jsValue(inta[10][9])
{inti,j,p,k,temp;
intb[10][9];
for(j=0;
9;
b[i][j]=a[i][j];
{p=b[i][0];
for(j=1;
if(b[i][j]<
p)
{temp=b[i][j];
for(k=j-1;
k>
=0;
k--)
a[i][k+1]=a[i][k];
a[i][0]=temp;
inta[10][9]={{6,8,9,1,2,5,4,7,3},
{3,5,8,9,1,2,6,4,7},
{8,2,1,9,3,5,4,6,7},
{3,5,1,2,9,8,6,7,4},
{4,7,8,9,1,2,5,3,6},
{4,7,3,5,1,2,6,8,9},
{9,1,3,5,8,6,2,4,7},
{2,6,1,9,8,3,5,7,4},
{5,3,7,9,1,8,2,6,4},
{7,1,3,2,5,8,9,4,6},
};
inti,j;
jsValue(a);
j++){
%d"
a[i][j]);
if(j<
=7)printf("
writeDat(a);
writeDat(inta[10][9])
FILE*fp;
fp=fopen("
j++){
fprintf(fp,"
=7)fprintf(fp,"
fclose(fp);
19_
某级数的前两项A1=1,A2=1,以后各项具有如下关系:
An=An-2+2An-1(注:
n-2与n-1为下标)
下列程序prog1.c的功能是:
要求依次对于整数M=100,1000和
10000求出对应的n值,使其满足:
Sn<
M且Sn+1>
=M,这里Sn=A1+A2
+...+An,并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制
jsValue()函数来实现此功能,最后调用函数writeDat()把数组
b[]中的值输出到out.dat文件中。
intb[3];
jsValue()
inti,a1,a2,a,Sn;
a1=1;
a2=1;
Sn=a1;
i=1;
while(Sn<
100)
{Sn=Sn+a2;
a=a1;
a1=a2;
a2=a+2*a1;
if(Sn<
100)i++;
b[0]=i;
a=a1;
a1=a2;
a2=a+2*a1;
if(Sn<
1000)i++;
b[1]=i;
10000)
10000)i++;
b[2]=i;
jsValue();
printf("
M=100,n=%d\nM=1000,n=%d\nM=10000,n=%d\n"
b[0],b[1],b[2]);
%d\n%d\n%d\n"
21_
找出所有100以内(含100)满足I,I+4,
I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I
之和sum。
请编写函数countValue()实现程序要求的功能,最后
调用函数writeDat()把结果cnt和sum输出到文件out.dat中。
请勿改动主函数main()和输出数据函数writeDat()的内容。
intcnt,sum;
intisPrime(intnumber)
inti,tag=1;
for(i=2;
tag&
i<
=number/2;
i++)
if(number%i==0)tag=0;
returntag;
voidcountValue()
{inti,a1,a2,a3;
i=2;
cnt=0;
sum=0;
while(i+10<
100)
{if((isPrime(i)!
=0)&
(isPrime(i+4)!
(isPrime(i+10)!
=0))
{cnt=cnt+1;
sum=sum+i;
i=i+1;
voidmain()
cnt=sum=0;
countValue();
满足条件的整数的个数=%d\n"
cnt);
满足条件的整数的和值=%d\n"
sum);
%d\n%d\n"
cnt,sum);
24_
求出ss字符串中指定字符c的个数,并
返回此值。
请编写函数intnum(*charss,charc)实现程序要
求,最后调用函数readwriteDat()把结果输出到文件out.dat中。
(注:
大小写字母有区别)
例如,若输入字符串ss="
123412132"
c='
1'
,则输出3。
conio.h>
#defineM81
voidreadwriteDAT();
intnum(char*ss,charc)
{inti,cnt;
for(i=0;
strlen(ss);
if(ss[i]==c)cnt++;
returncnt;
chara[M],ch;
clrscr();
\nPleaseenterastring:
gets(a);
\nPleaseenterachar:
ch=getchar();
\nThenumberofthecharis:
num(a,ch));
readwriteDAT();
voidreadwriteDAT()
FILE*rf,*wf;
chara[M],b[M],ch;
rf=fopen("
wf=fopen("
for(i=0;
i<
25;
i++){
fscanf(rf,"
%s"
a);
b);
ch=*b;
fprintf(wf,"
%c=%d\n"
ch,num(a,ch));
fclose(rf);
fclose(wf);
26_
将大于整数m且紧靠m的k个素数存入数
组xx。
请编写函数num(intm,intk,intxx[])实现程序的要求
,最后调用函数readwriteDat()把结果输出到文件out.dat中。
若输入175则应输出:
1923293137。
请勿改动主函数main()和输出数据函数readwriteDat()的
内容。
voidreadwriteDat();
intisP(intm)
m;
if(m%i==0)return0;
return1;
voidnum(intm,intk,intxx[])
{inti,p,r;
i=0;
while(i<
k)
if(isP(p)!
=0)
{xx[r++]=p;
intm,n,xx[1000];
\nPleaseentertwointegers:
num(m,n,xx);
m++)
xx[m]);
readwriteDat();
voidreadwriteDat()
intm,n,xx[1000],i;
fscanf(rf,"
%d%d"
m++)fprintf(wf,"
fprintf(wf,"
28_
把s字符串中的所有字母改写成该字母
的下一个字符,字母z改写成字母a。
要求大写字母仍为大写字母
,小写字母仍为小写字母,其他字符不做改变。
请编写函数chg
(char*s)实现程序的要求,最后调用函数readwriteDat()把结
果输出到文件out.dat中。
s字符串中原有的内容为:
Mn.123Zxy,则调用该函数
后,结果为No.123Ayz。
string.h>
ctype.h>
#defineN81
voidchg(char*s)
{inti,j,k;
charb[81];
strcpy(b,s);
i=strlen(b);
i;
if((b[j]>
=97&
b[j]<
122)||(b[j]>
=65&
90))
b[j]=b[j]+1;
elseif(b[j]==122)
b[j]=97;
elseif(b[j]==90)
b[j]=65;
strcpy(s,b);
chara[N];
Enterastring:
Theoriginalstringis;
puts(a);
chg(a);
Thestringaftermodified:
puts(a);
a);
%s\n"
38_
请编写函数countValue(),它的功能是:
求n以内(不包括n)
同时能被3与7整除的所有自然数之和的平方根s,并作为函数值
返回,最后结果s输出到文件out.dat中。
例如若n为1000时,函数值应为:
s=153.909064。
请勿改动主函数main()和输入输出数据函数progReadWrite
()的内容。
math.h>
doublecountValue(intn)
{inti,sum;
doubles;
i=1;
sum=0;
n)
{if((i%3==0)&
(i%7==0))
i++;
s=sqrt(sum);
if(s<
0)s=-s;
returns;
自然数之和的平方根=%f\n"
countValue(1000));
progReadWrite();
progReadWrite()
FILE*fp,*wf;
inti,n;
floats;
if(fp==NULL){
数据文件in.dat不存在!
return;
fscanf(fp,"
s=countValue(n);
%f\n"
s);
fclose(fp);
fclose(wf);
46_
计算500-800区间内素数的个数
cnt,并按所求素数的值从大到小的顺序,再计算其间隔加、减之
和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数.
..的值sum。
请编写函数countValue()实现程序的要求,最后调
用函数writeDat()把结果cnt和sum,输出到文件OUT11.DAT中。
部分源程序已给出。
{inti,j,a[300],tmp;
for(i=500;
=800;
{for(j=2;
if(i%j==0)
j=i+1;
if(j==i)
{a[cnt]=i;
cnt++;
cnt-1;
for(j=i+1;
cnt;
if(a[i]<
a[j])
{tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
{if(i%2!
=0)
a[i]=-a[i];
sum=sum+a[i];
素数的个数=%d\n"
按要求计算的值=%d\n"
OUT11.DAT"
48_
选出5000以下符合条件的自然数。
条
件是:
千位数字与百位数字之和等于十位数字与个位数字之和,
且千位数字与百位数字之和等于个位数字与千位数字之差的10倍
。
计算并输出这些四位自然数的个数cnt以及这些数的和sum。
请编写函数countValue()实现程序的要求,最后调用函数
writeDat()把结果cnt和sum,输出到文件OUT13.DAT中。
部分源程序存在文件prog1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三级 网络 上机 题库 答案