注册 登录
编程论坛 C++教室

求个简单问题!

heluhui123 发布于 2007-12-03 19:53, 952 次点击
将第1个元素换第6个元素..第2个元素换第5个元素~~~~~~~~~~~请问我有什么错??

#include <iostream.h>
main()
{
 float a[6]={1,2,3,4,5,6};
 int i,m,n,t;
 for(i=0;i<3;i++)
 {
  m=0;n=6;
  t=a[m];
  a[m]=a[n];
  a[n]=y;
  m++;
  n--;
  cout<<a<<endl;
 }
}
9 回复
#2
lonmaor2007-12-03 20:08
首先,你定义的数组a[]是float型的,用于临时存储的变量t却用了int型的。
其次,字符数组的输出需要用下标或是指针遍历数组,而不能采用如cout<<a<<endl; 的方式。
因为定义了数组a[]之后,单独使用a代表了数组的首地址。
#3
DG中专生2007-12-03 20:09
a[n]=y???????
#4
静思2007-12-03 20:29
当n=6时,数组越界了呀
#5
leeco2007-12-03 21:02
你基本上没什么地方是对的,所以很难说你哪里错了
#6
beyond07022007-12-03 22:01
典型的初学者
常犯的错......多看多练
#7
a198705022007-12-03 23:28
1、数组只有6个元素,所以应该是a[5],还有就是数组类型,用int会好点吧(因为元素都是int型的);
2、for循环中每次都会对m,n进行初始化,所以m,n的值只会是0和6;
3、输出数组元素要带下标。

PS:我都是菜鸟,有什么不对的,还请原谅。
#8
7040949472007-12-04 11:34
#include<iostream.h>
void main()
{ int t;
 int a[6]={1,2,3,4,5,6};
  for(int i=0;i<3;i++)
  {t=a[i];
      a[i]=a[5-i];
   a[5-i]=t;}
  for(int j=0;j<6;j++)
     cout<<a[j];
}
#9
lyixh2007-12-04 14:16
n改成五
把m=0;n=5;拿到for  语句上面去
#10
lyixh2007-12-04 14:17
还有把float a[6]改成int a[6]
1