{ for(j=i+1; j < MAX; j++)
if(sell[i].je>sell[j].je)
{swap=sell[i]; sell[i]=sell[j]; sell[j]=swap;}
else if((sell[i].je==sell[j].je)&&(strcmp(sell[i].dm,sell[j].dm)>0))
{swap=sell[i]; sell[i]=sell[j]; sell[j]=swap;}
}
100个产品销售记录排序其余9题说明
1) in.dat 内容完全相同。
2) 程序也基本雷同,仅排序的要求不一样。
3) 考生应熟悉 strcmp() 函数,否则有的题相当不好处理。
试题变化 :
排序要求:
按金额从小到大进行排列, 若金额相等, 则按产品代码从大到小 进行排列 相应语句:
if((sell[i].je>sell[j].je)||( (sell[i].je==sell[j].je) && (strcmp(sell[i].dm, sell[j].dm) < 0)))
排序要求: 按金额从大到小进行排列, 若金额相等, 则按产品代码从小到大 进行排列 相应语句: if((sell[i].je < sell[j].je)||(sell[i].je==sell[j].je)&&(strcmp(sell[i].dm, sell[j].dm)>0))
排序要求:
按金额从大到小进行排列, 若金额相等, 则按产品代码从大到小 进行排列 相应语句:
if((sell[i].je < sell[j].je)||(sell[i].je==sell[j].je)&&(strcmp(sell[i].dm,sell[j].dm)<0))
排序要求:
按产品名称从小到大进行排列, 若产品名称相同, 则按金额从小 到大进行排列
if((strcmp(sell[i].mc, sell[j].mc)>0)||(strcmp(sell[i].mc,sell[j].mc)==0)&&(sell[i].je>sell[j].je))