计算机三级网络技术试题.docx
- 文档编号:27938520
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:19
- 大小:19.55KB
计算机三级网络技术试题.docx
《计算机三级网络技术试题.docx》由会员分享,可在线阅读,更多相关《计算机三级网络技术试题.docx(19页珍藏版)》请在冰豆网上搜索。
计算机三级网络技术试题
请编制程序,要求:
将文件IN40.DAT中的200个整数读入数组xx中,求出数组xx中奇数的个数cnt1和偶数的个数cnt2,并计算数组xx下标为偶数的元素值的算术平均值pj(保留2位小数),结果cnt1、cnt2、pj输出到文件OUT40.DAT中。
voidmain()
{
intcnt1,cnt2,xx[N];
floatpj;
FILE*fw;
inti,k=0;
longj;
system("cls");
fw=fopen("OUT40.DAT","w");
read_dat(xx);
for(i=0,j=0,cnt1=0,cnt2=0;i { if(xx[i]%2) cnt1++;/*求出数组xx中奇数的个数cnt1*/ else cnt2++;/*求出数组xx中偶数的个数cnt2*/ if(i%2==0) { j+=xx[i];/*计算数组xx下标为偶数的元素值的和*/ k++; } } pj=(float)(j*100/k)/100;/*计算数组xx下标为偶数的元素值的算术平均值*/ printf("\n\ncnt1=%d,cnt2=%d,pj=%6.2f\n",cnt1,cnt2,pj); fprintf(fw,"%d\n%d\n%6.2f\n",cnt1,cnt2,pj); fclose(fw); } 请编制程序,要求: 将文件IN41.DAT中的200个整数读入数组xx中,求出数组xx中奇数的个数cnt1和偶数的个数cnt2,并计算数组xx下标为奇数的元素值的算术平均值pj(保留两位小数),结果cnt1、cnt2、pj输出到文件OUT41.DAT中。 voidmain() { intcnt1,cnt2,xx[N]; floatpj; FILE*fw; inti,k=0; longj=0; cnt1=0; cnt2=0; system("cls"); fw=fopen("OUT41.DAT","w"); read_dat(xx); for(i=0;i { if(xx[i]%2) cnt1++;/*求出数组xx中奇数的个数cnt1*/ else cnt2++;/*求出数组xx中偶数的个数cnt2*/ if(i%2==1) { j+=xx[i];/*计算数组xx下标为奇数的元素值的和*/ k++; } } pj=(float)(j*100/k)/100;/*计算数组xx下标为奇数的元素值的算术平均值*/ printf("\n\ncnt1=%d,cnt2=%d,pj=%6.2f\n",cnt1,cnt2,pj); fprintf(fw,"%d\n%d\n%6.2f\n",cnt1,cnt2,pj); fclose(fw); } 请编制程序,要求: 将文件IN42.DAT中的200个整数读入数组xx中,求出数组xx中最大数max及最大数的个数cnt,并计算数组xx中值能被3整除或能被7整除的数的算术平均值pj(保留两位小数),结果max、cnt、pj输出到文件OUT42.DAT中。 voidmain() { inti,k,cnt,xx[N],max; floatpj; FILE*fw; longj=0; system("cls"); fw=fopen("OUT42.DAT","w"); read_dat(xx); max=xx[0]; for(i=1,k=0;i { if(xx[i]>max) max=xx[i];/*找出数组xx中的最大元素*/ if(xx[i]%3==0||xx[i]%7==0) { j+=xx[i];/*计算数组xx中值能被3整除或能被7整除的数的和*/ k++; } } for(i=0,cnt=0;i if(xx[i]==max)cnt++;/*统计数组xx中最大元素max的个数*/ pj=(float)(j*100/k)/100; printf("\n\nmax=%d,cnt=%d,pj=%6.2f\n",max,cnt,pj); fprintf(fw,"%d\n%d\n%6.2f\n",max,cnt,pj); fclose(fw); } 已知数据文件IN43.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是: 如果4位数各位上的数字均是0、2、4、6或8,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT43.DAT文件中。 voidjsVal() { intbb[4]; inti,j,k,flag=0; for(i=0;i<200;i++) { bb[0]=a[i]/1000;/*求四位数的千位数字*/ bb[1]=a[i]%1000/100;/*求四位数的百位数字*/ bb[2]=a[i]%100/10;/*求四位数的十位数字*/ bb[3]=a[i]%10;/*求四位数的个位数字*/ for(j=0;j<4;j++) { if(bb[j]%2==0)/*如果各位上的数字均偶数*/ flag=1;/*则置标志位flag为1*/ else{flag=0;break;}/*否则置flag为0,退出循环*/ } if(flag==1)/*将满足条件的数存入数组b中,并统计满足条件的个数cnt*/ {b[cnt]=a[i];cnt++;} } for(i=0;i for(j=i+1;j if(b[i] {k=b[i];b[i]=b[j];b[j]=k;} } 已知数据文件IN44.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是: 如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。 最后,调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT44.DAT文件中。 voidjsVal() { inti,qw,bw,sw,gw,t,j; for(i=0;i<200;i++) { qw=a[i]/1000;/*求四位数的千位数字*/ bw=a[i]%1000/100;/*求四位数的百位数字*/ sw=a[i]%100/10;/*求四位数的十位数字*/ gw=a[i]%10;/*求四位数的个位数字*/ if(qw%2==1&&bw%2==1&&sw%2==1&&gw%2==1) {b[cnt]=a[i];cnt++;}/*将满足条件的数存入数组b中,并统计满足条件的个数cnt*/ } for(i=0;i for(j=i+1;j if(b[i] } 在文件IN45.DAT中有200个正整数,且每个数均在1000至9999之间。 函数readDat()的功能是读取这200个数存放到数组aa中。 请编制函数jsSort(),该函数的功能是: 要求按每个数的后三位的大小进行降序排列,将排序后的前10个数存入数组b中,如果数组b中出现后三位相等的数,则对这些数按原始4位数据进行升序排列。 最后,调用函数writeDat()把结果bb输出到文件OUT45.DAT中。 例如: 处理前90125099601270258088 处理后50998088702560129012 voidjsSort() { inti,j,data; for(i=0;i<199;i++)/*对数组中的四位数按后三位进行从大到小排序*/ for(j=i+1;j<200;j++) { if(aa[i]%1000 {data=aa[i];aa[i]=aa[j];aa[j]=data;} elseif(aa[i]%1000==aa[j]%1000)/*若后三位数相等*/ if(aa[i]>aa[j])/*则要按原四位数的值进行从小到大排序*/ {data=aa[i];aa[i]=aa[j];aa[j]=data;} } for(i=0;i<10;i++)bb[i]=aa[i];/*将排序后的前10个数存入数组b中*/ } 在文件IN46.DAT中有200个正整数,且每个数均在1000至9999之间。 函数readDat()的功能是读取这200个数存放到数组aa中。 请编制函数jsSort(),其函数的功能是: 要求按每个数的后三位的大小进行升序排列,将排序后的前10个数依次存入数组b中,如果数组b中出现后三位相等的数值,则对这些数值按原始4位数据进行降序排列。 最后,调用函数writeDat()把结果bb输出到文件OUT46.DAT中。 例: 处理前60125099901270258088 处理后90126012702580885099 voidjsSort() { inti,j,data; for(i=0;i<199;i++)/*对数组中的四位数按后三位进行从小到大排序*/ for(j=i+1;j<200;j++) { if(aa[i]%1000>aa[j]%1000)/*比较每个数的后三位*/ {data=aa[i];aa[i]=aa[j];aa[j]=data;} elseif(aa[i]%1000==aa[j]%1000)/*若后三位数相等*/ if(aa[i] {data=aa[i];aa[i]=aa[j];aa[j]=data;} } for(i=0;i<10;i++)bb[i]=aa[i];/*将排序后的前10个数存入数组b中*/ } 下列程序的功能是: 将大于整数m且紧靠m的k个素数存入数组xx。 请编写函数num(intm,intk,intxx[])实现函数的要求,最后调用函数readwriteDAT()把结果输出到文件OUT47.DAT中。 例如: 若输入17,5,则应输出: 19,23,29,31,37。 voidnum(intm,intk,intxx[]) { intData; inthalf,i,n=0; Data=m+1; while(n { half=Data/2; for(i=2;i<=half;i++) if(Data%i==0)break; if(i>half){xx[n]=Data;n++;} Data++; } } 下列程序的功能是: 找出所有100以内(含100)满足i、i+4、i+10都是素数的整数i(i+10也是在100以内)的个数cnt,以及这些整数之和sum。 请编制函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT48.DAT中(数值1不是素数)。 voidcountValue() { inti,count=0,xx[30]; cnt=0; sum=0; for(i=2;i<90;i++) if(isPrime(i))/*若该数为素数,则将它存入数组xx中,并统计其个数*/ { xx[count]=i; count++; } for(i=0;i if(isPrime(xx[i]+4)&&isPrime(xx[i]+10)) { cnt++;/*统计满足条件的数的个数*/ sum+=xx[i];/*计算数组xx中满足条件的数的总和*/ } } 下列程序的功能是: 计算500~800之间素数的个数cnt,并按所求素数的值从小到大的顺序,再计算其间隔加、减之和,即第1个素数—第2个素数+第3个素数—第4个素数+第5个素数……的值sum。 请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum输出到文件OUT49.DAT中。 voidcountValue() { inti,j,yy[100]; for(i=500;i<800;i++) { for(j=2;j<=i/2;j++) if(i%j==0)break;/*若该数不是素数,则退出此循环*/ if(j>=i/2)/*若该数是素数,则将该数存入数组yy中,并统计其个数*/ { yy[cnt]=i;cnt++; } } for(i=0,j=-1;i { j=j*-1; sum+=j*yy[i]; } } 下面程序的功能是: 选取出100以上1000以下所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。 计算并输出上述这些素数的个数CNT以及这些素数值的和sum。 请编写函数countvalue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT50.DAT中。 voidcountvalue() { inti,j,half,hun,ten,data; for(i=101;i<1000;i++) { hun=i/100; ten=i%100/10; data=i%10; if(hun==(ten+data)%10) { half=i/2; for(j=2;j if(i%j==0)break; if(j>=half){cnt++;sum+=i;} } } } 下面程序的功能是: 在三位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组中;它既是完全平方数,又有两位数字相同,例如144、676等。 请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回,最后调用函数writeDat()把结果输出到文件OUT51.DAT中。 intjsvalue(intbb[]) { inti,j,k=0; inthun,ten,data; for(i=100;i<=999;i++) { j=10; while(j*j<=i) { if(i==j*j) { hun=i/100; data=i-hun*100; ten=data/10; data=data-ten*10; if(hun==ten||hun==data||ten==data) {bb[k]=i;k++;} } j++; } } returnk; } 下面程序的功能是: 寻找并输出11至999之间的数m,它满足m、m2和m3均为回文数。 所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。 满足上述条件的数如m=11、m2=121、m3=1331皆为回文数。 请编制函数intjsvalue(longn)实现此功能,如果是回文数,则函数返回1,反之则返回0。 最后把结果输出到文件OUT52.DAT中。 intjsvalue(longn) { inti,strl,half; charxy[20]; ltoa(n,xy,10); strl=strlen(xy); half=strl/2; for(i=0;i if(xy[i]! =xy[--strl])break; if(i>=half)return1; elsereturn0; } 下面程序的功能是: 选出5000以下符合条件的自然数。 条件是: 千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。 计算并输出这些4位自然数的个数cnt及这些数的和sum。 请编写函数countValue()实现程序的要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT53.DAT中。 oidcountValue() { inti,qw,bw,sw,gw; for(i=5000;i>=1000;i--) { qw=i/1000;/*求四位数的千位数字*/ bw=i%1000/100;/*求四位数的百位数字*/ sw=i%100/10;/*求四位数的十位数字*/ gw=i%10;/*求四位数的个位数字*/ if(qw+bw==sw+gw&&qw+bw==(gw-qw)*10) {cnt++;sum+=i;}/*统计满足条件的数的个数并对其求和*/ } } 已知在文件IN54.DAT中存有N个(个数<200)实数,函数ReadDat()读取这N个实数并存入数组xx中。 请编制函数Calvalue(),其功能要求: (1)求出这N个实数的平均值aver; (2)分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数WriteDat()把所求的结果输出到文件OUT54.DAT中。 voidCalvalue(void) { inti; doublex,sum=0; for(i=0;i { sumint=sumint+(int)xx[i]; x=xx[i]-(int)xx[i]; sumdec=sumdec+x; sum=sum+xx[i]; } aver=sum/N; } 已知在文件IN55.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。 请编制函数Calvalue(),其功能要求: (1)求出文件中共有多少个正整数totNum; (2)求出这些数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数WriteDat()把所求的结果输出到文件OUT55.DAT voidCalvalue(void) { inti,thou,hun,ten,data; intab; floatsum=0; for(i=0;i { if(xx[i]>0)totNum++;/*求正整数的个数*/ elsebreak; thou=xx[i]/1000;/*求四位数的千位数字*/ hun=xx[i]%1000/100;/*求四位数的百位数字*/ ten=xx[i]%100/10;/*求四位数的十位数字*/ data=xx[i]%10;/*求四位数的个位数字*/ ab=thou+hun+ten+data; if(ab%2==0) {totCnt++;sum=sum+xx[i];}/*统计各位数字之和是奇数的个数并累加求和*/ } totPjz=sum/totCnt;/*求满足条件的数的平均值*/ } 已知在文件IN56.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()是读取这若干个正整数并存入数组xx中。 请编制函数CalValue(),其功能要求是: (1)求出这个文件中共有多少个正整数totNum。 (2)求出这些数中的各位数字之和是奇数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz。 最后,调用函数WriteDat()把所有结果输出到文件OUT56.DAT中。 voidCalValue(void) { inti,thou,hun,ten,data,ab; for(i=0;i { if(! xx[i])break; if(xx[i]>0)totNum++;/*求正整数的个数*/ thou=xx[i]/1000;/*求四位数的千位数字*/ hun=xx[i]%1000/100;/*求四位数的百位数字*/ ten=xx[i]%100/10;/*求四位数的十位数字*/ data=xx[i]%10;/*求四位数的个位数字*/ ab=thou+hun+ten+data; if(ab%2) {totCnt++;totPjz+=xx[i];}/*统计各位数字之和是奇数的个数并累加求和*/ } totPjz/=totCnt;/*求满足条件的数的平均值*/ } 已知在文件IN57.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()是读取这若干个正整数并存入数组xx中。 请编制函数CalValue(),其功能要求是: (1)求出这个文件中共有多少个正整数totNum。 (2)求这些数右移一位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz。 最后调用函数WriteDat()把所有结果输出到文件OUT57.DAT中。 voidCalValue(void) { inti,data; for(i=0;i { if(! xx[i])break; if(xx[i]>0)totNum++;/*统计正整数的个数*/ data=xx[i]>>1;/*将数右移一位*/ if(data%2)/*如果产生的新数是奇数*/ {totCnt++;totPjz+=xx[i];}/*统计满足条件的数的个数并求和*/ } totPjz/=totCnt;/*计算满足条件的数的平均值*/ } 已知在文件IN58.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。 请编制函数Calvalue(),其功能要求: (1)求出这个文件中共有多少个正整数totnum; (2)求这些数右移1位后,产生的新数是偶数的数的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数WriteDat()把所求的结果输出到文件OUT58.DAT中。 voidCalvalue(void) { inti,data; for(i=0;i { if(! xx[i])break; if(xx[i]>0)totNum++;/*统计正整数的个数*/ data=xx[i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 三级 网络技术 试题