问题描述
请高手看看这个数字比较大小的程序那里有问题在线急等谢谢int[]a=newint[]{2,5,6,1,30,3};intb;for(inti=0;i<=a.Length-1;i++){for(intj=1;j<=a.Length;j++){b=a[j];a[j]=a[i];a[i]=b;}}for(inti=0;i<a.Length;i++){Console.BackgroundColor=ConsoleColor.Yellow;Console.ForegroundColor=ConsoleColor.Magenta;Console.Write("{0}",a[i]);}Console.Read();
解决方案
解决方案二:
你是想说排序吧。但是没有看到你在哪里进行比较阿?我看着怎么像冒泡排序?
解决方案三:
for(intj=1;j<=a.Length;j++)这句数组超了...是排序么?呀你那个排的好像不对吧..好像结果不对.试试我这个.int[]a=newint[]{2,5,6,1,30,3};intb;for(inti=0;i<a.Length-1;i++){for(intj=i+1;j<a.Length;j++){if(a[i]<a[j]){b=a[i];a[i]=a[j];a[j]=b;}}}for(inti=0;i<a.Length;i++){Console.BackgroundColor=ConsoleColor.Yellow;Console.ForegroundColor=ConsoleColor.Magenta;Console.Write("{0}",a[i]);}Console.Read();
解决方案四:
for(intj=1;j<=a.Length;j++)//数组超出索引for(inti=0;i<a.Length-1;i++){for(intj=1;j<a.Length;j++){b=a[j];a[j]=a[i];a[i]=b;}}
解决方案五:
数组的下标是初学者经常迷糊的地方,多练习就OK了,实在不行自己在头脑中过一遍整个循环的过程,跑一遍每个变量的值
解决方案六:
int[]a=newint[]{2,5,6,1,30,3};intk=0;boolflag=false;for(inti=0;i<a.Length-1;i++){k=i;flag=true;for(intj=i+1;j<a.Length;j++){if(a[k]<a[j]){k=j;flag=false;}}if(flag)break;if(i!=k){a[i]=a[i]+a[k];a[k]=a[i]-a[k];a[i]=a[i]-a[k];}}for(inti=0;i<a.Length;i++){Console.BackgroundColor=ConsoleColor.Yellow;Console.ForegroundColor=ConsoleColor.Magenta;Console.Write("{0}",a[i]);}Console.Read();
解决方案七:
for(inti=0;i<=a.Length-1;i++){for(intj=1;j<=a.Length;j++){b=a[j];a[j]=a[i];a[i]=b;}}
哪里有比较?索引是从o开始到长度-1结束