1 / 13
文档名称:

全国计算机等级考试 全国计算机等级考试三级信息管理技术上机程序 片段解读.doc

格式:doc   页数:13
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

全国计算机等级考试 全国计算机等级考试三级信息管理技术上机程序 片段解读.doc

上传人:企业资源 2012/1/31 文件大小:0 KB

下载得到文件列表

全国计算机等级考试 全国计算机等级考试三级信息管理技术上机程序 片段解读.doc

文档介绍

文档介绍:三级信息管理技术上机程序解读
:结构数组和字符串比较
,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),
其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()。
注意: 。
void SortDat() /*标准答案*/
{int I,j;
PRO xy; //定义结构体变量
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;} //置换排序
else if(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;}
}
/* strcmp(char *s1,char * s2); 功能说明*/
比较字符串s1和s2。说明:
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
:, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 如果四位数各位上的数字均是0或2或4或6或8, t, 并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )。
注意: 。
程序中已定义数组: a[200], b[200], 已定义变量: cnt
、主函数main()、读函数readDat()和写函数writeDat()的内容。
void jsVal() /*标准答案*/
{int bb[4]; //定义一个一维数组,长度为4;
int I,j,k,flag;
for (I=0;I<200;I++) //---- BEGIN
{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; //表示被2整除数字是偶数,标志变量为1
else
{
flag=0;break; //如果四位数各位上的数字有一个非偶数则循环结束;
}
}
if (flag==1) //得到满足条件的四位数的个数
{
t]=a[I];
cnt++; //数组长度加1;
}
}//---------------------------得到满足条件的四位数代码END
//==============================把满足条件的四位数排序
for(I=0;t-1;I++)
for(j=I+1;t;j++)
if (b[I]<b[j])
{k=b[I];b[I]=b[j];b[j]=k;}
//==============================结束
}
/* 主要是各位数数字的取得和数字之间的组合和相关的比较*/
,如果该数连续大于该四位数以后的5个数且该数是奇数, t, 并把这些四位数按从小到大的顺序存入数组b中。 t。
void jsVal() /*标准答案*/
{int I,j,flag=0;
int k;
for(I=0;I<MAX-5;I++) // MAX为数组最大下标,后5个数不需要
{
for(j=I+1;j