三级网络技术南开100题上机模拟整理题型排序版WORD打印版.docx
《三级网络技术南开100题上机模拟整理题型排序版WORD打印版.docx》由会员分享,可在线阅读,更多相关《三级网络技术南开100题上机模拟整理题型排序版WORD打印版.docx(84页珍藏版)》请在冰豆网上搜索。
三级网络技术南开100题上机模拟整理题型排序版WORD打印版
全国计算机等级考试三级网络技术南开100
第一类按结构体成员筛选排序
★☆题目12(结构体运算题题)1套
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(strcmp(sell[i].mc,sell[j].mc)>0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je>sell[j].je)
{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
**************************************************************************
题目42结构体运算题2
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品名称从大到小进行排列,若产品名称相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(strcmp(sell[i].mc,sell[j].mc)<0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
**************************************************************************
题目38(结构体运算题)3
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型
高性价比安卓智能手机排行榜_热门促销智能手机推荐
4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(strcmp(sell[i].dm,sell[j].dm)>0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je>sell[j].je)
{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
****************************************************************************
★☆题目31(结构体运算题)4
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT4.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)if(sell[i].je{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
**************************************************************************
☆题目32(结构体运算题)5
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中
,最后调用函数WriteDat()把结果输出到文件OUT7.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)if(strcmp(sell[i].mc,sell[j].mc)<0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je>sell[j].je)
{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
****************************************************************************
****************************************************************************
☆题目7(结构体操作题)7套
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(strcmp(sell[i].dm,sell[j].dm)<0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
******************************************************************************
******************************************************************************
题目13(结构体运算题)类似于8套
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能
要求:
按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT9.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(strcmp(sell[i].dm,sell[j].dm)>0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
**************************************************************************
★题目61(结构体运算题)9
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(sell[i].je>sell[j].je||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)<0)
{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
*****************************************************************************
题目99(结构体排列题)10
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{inti,j;
PROxy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(sell[i].je>sell[j].je||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)>0)
{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}
}
第二类:
数位分解后按数筛选统计并排序
☆题目48(整数各位数字运算题)11
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:
6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。
8129,8+9<>1+2,则该数不满足条件忽略。
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[300],b[300],已定义变量:
cnt
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
jsValue()
{inti,qw,bw,sw,gw,j;
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+gw==bw+sw)b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j]){qw=b[i];b[i]=b[j];b[j]=qw;}
}
*****************************************************************************
☆题目68(整数各位数字统计运算题)12
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:
如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。
最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意:
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[200],b[200],已定义变量:
cnt
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
voidjsVal()
{inti,j,thou,hun,ten,data;
for(i=0;i<200;i++)
{thou=a[i]/1000;hun=a[i]%1000/100;
ten=a[i]%100/10;data=a[i]%10;
if(thou&&thou%2&&hun%2&&ten%2&&data%2)b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]
}
******************************************************************************
题目54(整数各位数运算排序题)13
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:
7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+1。
8129,8+1<>2+9,则该数不满足条件忽略。
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[300],b[300],已定义变量:
cnt
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
jsValue()
{inti,j,qw,bw,sw,gw;
for(i=0;i<300;i++)
{qw=a[i]/1000;bw=a[i]/100%10;
sw=a[i]%100/10;gw=a[i]%10;
if(qw+bw==sw+gw)b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]
}
**************************************************************************
**************************************************************************
题目27(整数各位数字运算题)15
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:
9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。
9812,9-8-1-2>0,则该数不满足条件忽略。
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[300],b[300],已定义变量:
cnt
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
jsValue()
{inti,j,qw,bw,sw,gw;
for(i=0;i<300;i++)
{qw=a[i]/1000;bw=a[i]/100%10;
sw=a[i]%100/10;gw=a[i]%10;
if(qw-bw-sw-gw>0)b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j]){qw=b[i];b[i]=b[j];b[j]=qw;}
}
************************************************************************
题目67(整数各位数字运算题)16
下列程序的功能是:
选出5000以下符合条件的自然数。
条件是:
千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。
计算并输出这些四位自然数的个数cnt以及这些数的和sum。
请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT13.DAT中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()和输出数据函数writeDat()的内容。
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;}
}
}
************************************************************************
☆题目217套
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:
如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意:
部分源程序存在文件prog1.c中。
程序中已定义数组:
a[200],b[200],已定义变量:
cnt
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
voidjsVal()
{inti,j,qw,bw,sw,gw;
for(i=0;i{qw=a[i]/1000;bw=a[i]/100%10;
sw=a[i]%100/10;gw=a[i]%10;
if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw