三级网络.docx
- 文档编号:23976683
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:71
- 大小:24.78KB
三级网络.docx
《三级网络.docx》由会员分享,可在线阅读,更多相关《三级网络.docx(71页珍藏版)》请在冰豆网上搜索。
三级网络
一、求平均值(共8题):
1、分离四位数,找数,求平均数(49、67、80、81、87)
题目49(整数各位数字运算题)
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:
9123,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。
9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2。
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[300],已定义变量:
cnt,pjz1,pjz2。
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
#include
inta[300],cnt=0;
doublepjz1=0.0,pjz2=0.0;
jsValue()
{inti,qw,bw,sw,gw,n=0;
for(i=0;i<300;i++)
{qw=a[i]/1000; bw=a[i]%1000/100;
sw=a[i]%100/10;gw=a[i]%10;
if(qw-bw-sw-gw>0){cnt++;pjz1+=a[i];}
else{n++;pjz2+=a[i];}
}
if(cnt==0)pjz1=0;
elsepjz1/=cnt;
if(n==0)pjz2=0;
elsepjz2/=n;
}
main()
{
inti;
readDat();
jsValue();
writeDat();
printf("cnt=%d\n满足条件的平均值pzj1=%7.2f\n不满足条件的平均值pzj2=%7.2f\n",cnt,pjz1,pjz2);
}
readDat()
{
FILE*fp;
inti;
fp=fopen("in.dat","r");
for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
writeDat()
{
FILE*fp;
inti;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%7.2f\n%7.2f\n",cnt,pjz1,pjz2);
fclose(fp);
}
题目67(整数各位数字运算题)
下列程序的功能是:
选出5000以下符合条件的自然数。
条件是:
千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。
计算并输出这些四位自然数的个数cnt以及这些数的和sum。
请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT13.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()和输出数据函数writeDat()的内容。
#include
intcnt,sum;
voidcountValue()
{inti,thou,hun,ten,data;
for(i=1000;i<5000;i++)
{thou=i/1000; hun=i%1000/100;
ten=i%100/10;data=i%10;
if(thou+hun==ten+data&&thou+hun==(data-thou)*10){cnt++;sum+=i;}
}
}
voidmain()
{
cnt=sum=0;
countValue();
printf("满足条件的自然数的个数=%d\n",cnt);
printf("满足条件的自然数的个数之和=%d\n",sum);
writeDat();
}
writeDat()
{
FILE*fp;
fp=fopen("OUT13.DAT","w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}
题目80(整数各位数运算题)
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:
1239,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。
8129,9-8-1-2<0,则该数不满足条件计算平均值pjz2。
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[300],已定义变量:
cnt,pjz1,pjz2
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
#include
inta[300],cnt=0;
doublepjz1=0.0,pjz2=0.0;
jsValue()
{inti,j,thou,hun,ten,data,n=0;
for(i=0;i<300;i++)
{thou=a[i]/1000; hun=a[i]/100%10;
ten=a[i]%100/10;data=a[i]%10;
if(data-thou-hun-ten>0){cnt++;pjz1+=a[i];}
else{n++;pjz2+=a[i];}
}
if(cnt==0)pjz1=0;
elsepjz1/=cnt;
if(n==0)pjz2=0;
elsepjz2/=n;
}
main()
{
inti;
readDat();
jsValue();
writeDat();
printf("cnt=%d\n满足条件的平均值pzj1=%7.2f\n不满足条件的平均值pzj2=%7.2f\n",cnt,pjz1,pjz2);
}
readDat()
{
FILE*fp;
inti;
fp=fopen("in.dat","r");
for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
writeDat()
{
FILE*fp;
inti;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%7.2f\n%7.2f\n",cnt,pjz1,pjz2);
fclose(fp);
☆题目81(整数各位数运算题)
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:
7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。
8129,8+1<>2+9,则该数不满足条件计算平均值pjz2。
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[300],已定义变量:
cnt,pjz1,pjz2。
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
#include
inta[300],cnt=0;
doublepjz1=0.0,pjz2=0.0;
jsValue()
{inti,thou,hun,ten,data,n=0;
for(i=0;i<300;i++)
{thou=a[i]/1000;hun=a[i]%1000/100;
ten=a[i]%100/10;data=a[i]%10;
if(thou+hun==ten+data){cnt++;pjz1+=a[i];}
else{n++;pjz2+=a[i];}
}
if(cnt==0)pjz1=0;
elsepjz1/=cnt;
if(n==0)pjz2=0;
elsepjz2/=n;
}
main()
{
inti;
readDat();
jsValue();
writeDat();
printf("cnt=%d\n满足条件的平均值pzj1=%7.2f\n不满足条件的平均值pzj2=%7.2f\n",cnt,pjz1,pjz2);
}
readDat()
{
FILE*fp;
inti;
fp=fopen("in.dat","r");
for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
writeDat()
{
FILE*fp;
inti;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%7.2f\n%7.2f\n",cnt,pjz1,pjz2);
fclose(fp);
}
☆题目87(整数各位运算统计题)
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数加个位数等于百位数上的数加十位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到out.dat文件。
例如:
6712,6+2=7+1,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。
8129,8+9<>1+2,则该数不满足条件计算平均值pjz2。
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[300],已定义变量:
cnt,pjz1,pjz2。
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
#include
inta[300],cnt=0;
doublepjz1=0.0,pjz2=0.0;
jsValue()
{inti,gw,sw,bw,qw,cnt2=0;
for(i=0;i<300;i++)
{gw=a[i]%10; sw=a[i]/10%10;
bw=a[i]/100%10;qw=a[i]/1000;
if((qw+gw)==(sw+bw)){cnt++;pjz1+=a[i];}
else{cnt2++;pjz2+=a[i];}
}
if(cnt==0)pjz1=0;
elsepjz1/=cnt;
if(cnt2==0)pjz2=0;
elsepjz2/=cnt2;
}
main()
{
inti;
readDat();
jsValue();
writeDat();
printf("cnt=%d\n满足条件的平均值pzjl=%7.2f\n不满足条件的平均值pzj2=%7.2f\n",cnt,pjz1,pjz2);
}
readDat()
{
FILE*fp;
inti;
fp=fopen("in.dat","r");
for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
writeDat()
{
FILE*fp;
inti;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%7.2f\n%7.2f\n",cnt,pjz1,pjz2);
fclose(fp);
}
*******************************************************************************
2、初始化变量,求平均值(91、92、94)
题目91(整数统计运算题)
请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx下标为偶数的元素值的算术平均值pj(保留2位小数)。
结果cnt1,cnt2,pj输出到out.dat中。
部分程序、读数据函数read_dat(intxx[200])及输出格式已给出。
#include
#include
#defineN200
voidread_dat(intxx[N])
{
inti,j;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<20;i++){
for(j=0;j<10;j++){
fscanf(fp,"%d,",&xx[i*10+j]);
printf("%d",xx[i*10+j]);
}
printf("\n");
}
fclose(fp);
}
voidmain()
{
inti,j,sum;
intcnt1,cnt2,xx[N];
floatpj;
FILE*fw;
clrscr();
fw=fopen("out.dat","w");
read_dat(xx);
/**********************/
sum=0;pj=0.0;cnt1=cnt2=0;
for(i=0;i {if(xx[i]%2)cnt1++; elsecnt2++; if(i%2==0){pj+=xx[i];sum++;} } pj/=sum; /***********************/ 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); } ☆题目92(整数统计运算题) 请编制程序prog1.c,从文件IN.DAT中读取200个整数至数组xx中,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。 结果max,cnt,pj输出到OUT.DAT中。 部分程序、读数据函数read_dat(intxx[200])及输出格式已给出。 #include #include #defineN200 voidread_dat(intxx[N]) { inti,j; FILE*fp; fp=fopen("in.dat","r"); for(i=0;i<20;i++){ for(j=0;j<10;j++){ fscanf(fp,"%d,",&xx[i*10+j]); printf("%d",xx[i*10+j]); } printf("\n"); } fclose(fp); } voidmain() { intm,temp,n,sum; intcnt,xx[N],max; floatpj; FILE*fw; clrscr(); fw=fopen("out.dat","w"); read_dat(xx); /*********************/ cnt=0;max=xx[0];pj=0.0;n=0; for(m=0;m if(max for(m=0;m {if(xx[m]==max)cnt++; if(xx[m]%3==0||xx[m]%7==0) {pj+=xx[m];n++;} } pj/=n; /*********************/ 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); } 题目94(整数统计运算题) 请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx中值为偶数的算术平均值pj(保留2位小数)。 结果cnt1,cnt2,pj输出到out.dat中。 部分程序、读数据函数read_dat(intxx[200])及输出格式已给出。 #include #include #defineN200 voidread_dat(intxx[N]) { inti,j; FILE*fp; fp=fopen("in.dat","r"); for(i=0;i<20;i++){ for(j=0;j<10;j++){ fscanf(fp,"%d,",&xx[i*10+j]); printf("%d",xx[i*10+j]); } printf("\n"); } fclose(fp); } voidmain() { intm,sum; intcnt1,cnt2,xx[N]; floatpj; FILE*fw; fw=fopen("out.dat","w"); clrscr(); read_dat(xx); /****************************/ cnt1=0;cnt2=0;pj=0.0; for(m=0;m if(xx[m]%2)cnt1++; else{cnt2++;pj+=xx[m];} if(cnt2==0)pj=0; elsepj/=cnt2; /****************************/ 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); } 二、排序算法(共45题) 1、在数组中找出满足条件的数并排序 A)用函数判断素数、排序(55、82) 题目55(素数统计排序题) 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是: 求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。 例如: 5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812是非素数,则该数不满足条件忽略。 部分源程序存在文件prog1.c中。 程序中已定义数组: a[300],b[300],已定义变量: cnt 请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 #include inta[300],b[300],cnt=0; intisP(intm){ inti; for(i=2;i if(m%i==0)return0; return1; } jsValue() {inti,j,value; for(i=0;i<300;i++) if(isP(a[i]))b[cnt++]=a[i]; for(i=0;i for(j=i+1;j if(b[i]>b[j]) {value=b[i];b[i]=b[j];b[j]=value;} } main() { inti; readDat(); jsValue(); writeDat(); printf("cnt=%d\n",cnt); for(i=0;i } readDat() { FILE*fp; inti; fp=fopen("in.dat","r"); for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]); fclose(fp); } writeDat() { FILE*fp; inti; fp=fopen("out.dat","w"); fprintf(fp,"%d\n",cnt); for(i=0;i fclose(fp); } ★题目82(素数题) 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是: 求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果cnt,pjz1,pjz2输 出到out.dat文件。 例如: 5591是素数,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 9812是非素数,则该数不满足条件计算平均值pjz2。 部分源程序存在文件prog1.c中。 程序中已定义数组: a[300],已定义变量: cnt,pjz1,pjz2 请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 #include inta[300],cnt=0; doublepjz1=0.0,pjz2=0.0; intisP(intm) {inti; for(i=2;i if(m%i==0)return0; return1; } jsValue() {inti; for(i=0;i<300;i++) if(isP(a[i])){pjz1+=a[i];cnt++;}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三级 网络
![提示](https://static.bdocx.com/images/bang_tan.gif)