编译没错~可以运行~但是运行结果不对。(循环语句)
我想输入一组数字,然后比较他们的大小,然后从小到大输出。输入的数字不一定是20个,可以小于20个。用0来做结尾符,输入0就跳出循环。但是运行结果:我输入0,没有跳出循环,一直输入够了20个数字才进入下一个语句。是第一个for语句出问题。后面的输出for语句没问题。
哪里有错/怎么解决?
#include<iostream.h>
int main()
{
int a[20];
cout<<"please cin numbers:";
for(int i=0;i<20&&a[i]!=0;i++)
{
cin>>a[i];
}
int temp;
for(int n=0;n<20&&a[i]!=0;n++)
{
temp=a[n];
for(int k=n;k<20&&a[k]!=0;k++)
{
if(a[k]<temp)
{
temp=a[k];
a[k]=a[n];
a[n]=temp;
}
}
}
cout<<"after..."<<endl;
for(int l=0;l<20&&a[l]!=0;l++)
{
cout<<a[l]<<" ";
}
return 0;
}
[[it] 本帖最后由 lockhawk 于 2008-10-13 20:08 编辑 [/it]]