计算机三级信息管理技术和网络技术上机题目及答案.docx
《计算机三级信息管理技术和网络技术上机题目及答案.docx》由会员分享,可在线阅读,更多相关《计算机三级信息管理技术和网络技术上机题目及答案.docx(64页珍藏版)》请在冰豆网上搜索。
计算机三级信息管理技术和网络技术上机题目及答案
有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。
其中:
金额=单价×数量。
函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,
voidSortDat()
{
inti,j;
PROtemp;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(strcmp(sell[i].mc,sell[j].mc)>0)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
elseif(strcmp(sell[i].mc,sell[j].mc)==0)
if(sell[i].je>sell[j].je)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
}
其功能要求:
按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列,
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;}
}
功能是:
按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列
voidSortDat()
{
inti,j;
PROtemp;
for(i=0;i<99;i++)for(j=i+1;j<100;j++)
if(strcmp(sell[i].dm,sell[j].dm)>0)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
elseif(strcmp(sell[i].dm,sell[j].dm)==0)
if(sell[i].je>sell[j].je)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}}
其功能要求:
按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,
inti,j;
PROxy;
for(i=0;ifor(j=i+1;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;}
}
功能要求:
按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,。
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;}
}
功能是:
按产品代码从小到大排列,若产品代码相同,则按金额从大到小进行排列
voidSortDat()
{
inti,j;
PROtemp;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
{
if(strcmp(sell[i].dm,sell[j].dm)>0)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
elseif(strcmp(sell[i].dm,sell[j].dm)==0)
if(sell[i].je{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
}
}
其功能要求:
按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,
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;}
}
}
其功能要求:
按金额从大到小进行排列,若金额相同,则按产品名称从小到大进行排列,
voidSortDat()
{
inti,j;
PROtemp;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
{
if(sell[i].je{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
elseif(sell[i].je==sell[j].je)
if(strcmp(sell[i].mc,sell[j].mc)>0)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
}
}
其功能要求:
按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列
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;}}}
其功能要求:
按金额从小到大进行排列,若金额相同,则按产品代码从小到大进行排列,
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位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:
如果4位数各位商的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。
最后调用函数writeDat()吧结果cnt及数组b中符合条件的4位数输出到OUT1.DAT文件。
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
{
a4=a[i]/1000;a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a4%2!
=0&&a3%2!
=0&&a2%2!
=0&&a1%2!
=0)
{
b[cnt]=a[i];
cnt++;}
}
for(i=0;ifor(j=i+1;jif(b[i]
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,
voidjsVal()
{
inti,j;
inttemp;
for(i=0;iif(a[i]%2!
=0)
{
for(j=i+1;j<=i+5;j++)
if(a[i]break;
if(j==i+6){
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
如果4位数各位商的数字均是0或2或4或6或8,则统计出满足此条件的书的个数cnt,并把这下4位数按从大到小的顺序存入数组b中,
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a4%2==0&&a3%2==0&&a2%2==0&&a1%2==0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
若一个4位数的千位数字小于等于百位数字,百位数字小于等于十位数字,以及十位数字小于等于个位数字,并且此4位数是偶数,则统计出满足此条件的书的个数cnt并把这些4位数按从小到大的顺序存入数组中,
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if((a4<=a3)&&(a3<=a2)&&(a2<=a1)&&(a1%2==0))
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
把一个4位数的千位数字减百位数字再减十位数字最后减个位数字,如果得出的值大于等于零且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数存入数组b中,然后对数字b中的4位数按从小到大的顺序进行排列
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if((a4-a3-a2-a1>=0)&&a1%2!
=0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
如果一个4位数的千位数字加十位数字恰好等于百位数字加上个位数字,并且此4位数是偶数,则统计出满足此条件的个数cnt并把这些4位数按从小到大的顺序存入数组b中,
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if((a4+a2==a3+a1)&&a[i]%2!
=1)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
如果以个4位数个千位数字大于等于百位数字,百位数字大于等于十位数字,以及十位数字大于等于个位数字,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数从小到大的顺序存入数组b中
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if((a4>=a3)&&(a3>=a2)&&(a2>=a1)&&a1%2!
=0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
如果以个4位数的千位数字加上十位数字恰好等于百位数字加上个位数字,并且此4位数是偶数,则统计出满足此条件读书的个数cnt并把这些4位数按从小到大的顺序存入数组b中
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if(a4+a2==a3+a1&&a1%2==0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
如果一个4位数的千位数字加个位数字恰好等于百位数字加上十位数字,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数字b中voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
if((a4+a1==a3+a2)&&a1%2==1)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
把千位数字和十位数字重新组成一个新的两位数ab(新两位数的十位数字是原四位数的千位数字,新两位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的两位数cd(新两位数的十位数字是原四位数的个位数字,新两位数的个位数字是原四位数的百位数字),如果新组成的两个两位数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
intab,cd;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
ab=10*a4+a2;
cd=10*a1+a3;
if((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&a4!
=0&&a1!
=0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
把千位数字和十位数字重新组成一个新的两位数(新两位数的十位数字是原四位数的千位数字,新两位数的个位数字是原四位数的十位数字),把百位数字和十位数字组成了一个新的2位数(新2位数的十位数字是原4位数的百位数字,新2位数的个位数字是原4位数的十位数字),如果新组成的两个2位数均是奇数并且两个2位数中至少有一个数能被5整除,同时两个新2位数的十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中并要求计算满足上述条件的4位数的个数cnt,
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
intab,cd;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
ab=10*a4+a1;
cd=10*a3+a2;
if(ab%2==1&&cd%2==1&&(ab%5==0||cd%5==0)&&a4!
=0&&a3!
=0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
把千位数字和十位数字重新组成一个新的两位数ab(新两位数的十位数字是原四位数的千位数字,新两位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的两位数cd(新两位数的十位数字是原四位数的个位数字,新两位数的个位数字是原四位数的百位数字),如果新组成的两个两位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
intab,cd;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
ab=10*a4+a2;
cd=10*a1+a3;
if((ab-cd>=10)&&(ab-cd<=20)&&(ab%2==0)&&(cd%2==0)&&a4!
=0&&a1!
=0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
把千位数字和十位数字重新组成一个新的2位数(新2位数的十位数字是原4位数的千位数字,新2位数的个位数字是原4位数的十位数字),以及把个位数字和百位数字组成了另一个新的2位数(新2位数的十位数字是原4位数的个位数字,新2位数的个位数字是原4位数的百位数字),如果新组成的两个2位数均是素数且新2位数的十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中并要求计算满足上述条件的4位数的个数cnt,
voidjsVal()
{
inti,j;
inta1,a2,a3,a4;
inttemp;
intab,cd;
for(i=0;i<200;i++)
{
a4=a[i]/1000;
a3=a[i]%1000/100;
a2=a[i]%100/10;
a1=a[i]%10;
ab=10*a4+a2;
cd=10*a1+a3;
if(isprime(ab)&&isprime(cd)&&a4!
=0&&a1!
=0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;ifor(j=i+1;jif(b[i]
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
功能是:
把千位数字和十位数字重新组成一个新的两位数ab(新两位数的十位数字是原四位数的千位数字,新两位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的两位数cd(新两位数的十位数字是原四位数的