计算机等级上机问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 05:53:00
{int I,j;
PRO xy;
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;}
else if(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;}
}
和下面
{ int I,j
double data
for(i=0;I<99;i++)
for(j=i+1;j<100;j++)
if(sell[i].dj>sell[j].dj// sell[i].dj=sell[j].dj&&sell[i].dm>sell[j].dm)
{data=sell[i]
sell[i]=sell[j]
sell[j]=data}
}
一样吗??

不一样,条件先后不一样
if(sell[I].je>sell[j].je)
{xy=sell[I];sell [I]=sell[j];sell[j]=xy;}
else if(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;}

if(sell[i].dj>sell[j].dj// sell[i].dj=sell[j].dj&&sell[i].dm>sell[j].dm)
{data=sell[i]
sell[i]=sell[j]
sell[j]=data}
} 把范围扩大了,你不信你可以写数试试,还是按标准答案第一个写吧,祝你通过!