C++数组问题...

#include <iostream>
using namespace std;
int main()
{
int a[10];
int i,j,t;
cout <<"input 10 numbers:"<<endl;
for(i=0;i<10;i++)
cin >>a[i];
cout <<endl;
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
cout <<"the sorted numbers:"<<endl;
for(i=0;i<10;i++)
cout <<a[i]<<" ";
cout <<endl;
return 0;
}
最难懂的是 {t=a[i];a[i]=a[i+1];a[i+1]=t;} 这句
不知道什么意思..... 麻烦哪位好心人帮个忙解释下 最好详细点
因为我是个初学的.... 感谢啦
各位可以从这段代码一起解释一起吗?:
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
谢啦

先吧a[i]的值赋给t,再把a[i+1]的值赋给a[i],然后把t的值(是最开始a[i]的值)赋给a[i+1],目的是完成a[i]和a[i+1]中数值的交换。整个算法是一个排序算法,定义了一个数组a[10],也就是可以存放10个数的数组,而a[i]中的i是数组的下标,从0开始,10个数就是从0-9。最开始的for循环就是让你输入10个数,存放在这个数组里面,然后连续的两个数组就是为了排序,具体的东西你得自己理解了,我这不好讲。你说的最难懂的上面讲了。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-15
{t=a[i];a[i]=a[i+1];a[i+1]=t;} //a[i]与a[i+1]里面的数据对换
第2个回答  2010-07-15
把a[i]和a[i+1]的值进行互换
因为不能直接
a[i]=a[i+1];
a[i+1]=a[i];

所以需要一个临时存放的地方

就像,你想把2瓶饮料对换瓶子,必须要有个中间空瓶子过渡一样
第3个回答  2010-07-15
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
数值赋值 比如 a=5 a=a+1 那么a+1=5就是这个意思
第4个回答  2010-07-15
这个语句是把这数组中的两个元素调换一下的
程序采用冒泡排序法把十个数字从小到大排序

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网