计算机二级题库已经分类.docx
《计算机二级题库已经分类.docx》由会员分享,可在线阅读,更多相关《计算机二级题库已经分类.docx(107页珍藏版)》请在冰豆网上搜索。
计算机二级题库已经分类
第一类题目:
销售类
题目7:
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.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)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(strcmp(sell[I].dm,sell[j].dm)==0)
if(sell[I].je{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目12:
已知在文件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)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(strcmp(sell[I].mc,sell[j].mc)==0)
if(sell[I].je>sell[j].je)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目13:
已知在文件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)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(strcmp(sell[I].dm,sell[j].dm)==0)
if(sell[I].je{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目31:
已知在文件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(sell[I].je{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(sell[I].je==sell[j].je)
if(strcmp(sell[I].dm,sell[j].dm)<0)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目32:
已知在文件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;Ifor(j=I+1;jif(strcmp(sell[I].mc,sell[j].mc)<0)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(strcmp(sell[I].mc,sell[j].mc)==0)
if(sell[I].je>sell[j].je)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目38:
已知在文件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;Ifor(j=I+1;jif(strcmp(sell[I].dm,sell[j].dm)>0)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(strcmp(sell[I].dm,sell[j].dm)==0)
if(sell[I].je>sell[j].je)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目42:
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列.最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT8.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)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(strcmp(sell[I].mc,sell[j].mc)==0)
if(sell[I].je{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目47:
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列.最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT3.DAT中。
注意:
部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
----------------------------------
voidSortDat()/*标准答案*/
{intI,j;
PROxy;
for(I=0;Ifor(j=I+1;jif(sell[I].je{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(sell[I].je==sell[j].je)
if(strcmp(sell[I].dm,sell[j].dm)>0)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目61:
已知在文件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)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(sell[I].je==sell[j].je)
if(strcmp(sell[I].dm,sell[j].dm)<0)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
题目99:
已知在文件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)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
elseif(sell[I].je==sell[j].je)
if(strcmp(sell[I].dm,sell[j].dm)>0)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
}
第二类题目:
200个4位数
题目5:
在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()读取这200个数存放到数组aa中。
请编制函数jsSort(),其函数的功能是:
要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行降序排列。
最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:
处理前60125099901270258088
处理后90126012702580885099
注意:
部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
--------------------
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];
}
题目6:
在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()读取这200个数存放到数组aa中。
请编制函数jsSort(),其函数的功能是:
要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。
最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:
处理前90125099601270258088
处理后50998088702560129012
注意:
部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
--------------------
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];
}
题目60:
在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。
函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:
要求在200组数据中找出条件为每组中的第二个数大于第一个数加第三个数的之和,其中满足条件的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。
注意:
部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
-----------------------------------
intjsSort()/*标准答案*/
{intI,cnt=0,j;
datach;
for(I=0;I<200;I++)
if(aa[I].x2>aa[I].x1+aa[I].x3)
{bb[cnt]=aa[I];cnt++;}
for(I=0;Ifor(j=I+1;jif(bb[I].x2+bb[I].x3{ch=bb[I];bb[I]=bb[j];bb[j]=ch;}
returncnt;
}
题目75:
在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。
函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:
要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的之和,其中满足条件的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。
注意:
部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
-----------------------------------
intjsSort()/*标准答案*/
{
inti,j,count=0;
dataval;
for(i=0;i<200;i++)
if(aa[i].x1>aa[i].x2+aa[i].x3)
{
bb[count]=aa[i];
count++;
}
for(i=0;ifor(j=i+1;jif(bb[i].x1+bb[i].x3>bb[j].x1+bb[j].x3)
{
val=bb[i];
bb[i]=bb[j];
bb[j]=val;
}
returncount;
}
题目91:
请编制程序,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx值为偶数的元素值的算术平均值pj(保留2位小数)。
结果cnt1,cnt2,pj输出到out.dat中。
部分程序、读数据函数read_dat(intxx[200])及输出格式已给出。
--------------------
for(i=0,j=0,cnt1=0,cnt2=0;i{
if(xx[i]%2)
cnt1++;
else
cnt2++;
if(i%2==0)
j+=xx[i];
}
pj=(float)j/(N/2);
题目92:
请编制程序,从文件in.dat中读取200个整数至数组xx中,求出最大数max及最大数的个数cn