有什么错误?这个C++程序

来源:百度知道 编辑:UC知道 时间:2024/06/06 11:12:36
#include <iostream>
int main()
{
int a[10];
int i,j,t;
cout<<"input 10 numbers:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
cout<<"\n"<<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 result is:"<<endl;
for(i=0;i<10;i++)
cout<<a[i]<<"\n"<<endl;
}

可以很负责任地告诉你,你的算法没问题(不排除我老眼昏花^_^),尽管代码的可读性比较差。但是,通过第一行#include<iostream>,我猜测你使用的编译器应该对标准C++进行了很好的支持,应该不是VC++6.0之类的。如果是这样的话,那么你的代码很可能不会通过编译(你是不是问的就是这个问题?),因为cout和cin、endl等符号是定义在std名字空间里的,对命名的名字空间里的名字的引用,需要显式地限定,即在cin、cout、endl前加上std::,或使用名字空间使用指令,即在#include<iostream>前加上using namespace std;
如果你问的问题不是编译通不过的话,我目前还没看出来你的代码逻辑上有什么大的问题,抱歉。

你的循环嵌套了么?你试试能不能把流程图画出来,循环层次不清啊。

我刚调试过,
第一行iostream应改为iostream.h
第二行int应改为void
可以运行