汇编网首页登录博客注册
yangkai9999的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  

[2009-02-19 16:12] c++的数组

#include"iostream.h"
int main()
{
        int array[5]; //对数组进行声明
        for(int i=0;i<5;i++)//i不能<=5
        {
                array[i]=i+1;//对数组个元素进行赋值
        }


for(int j=0;j<5;j++)
{
        cout<<array[j]<<"  ";  //对个元素进行输出

}
cout<<endl;
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include"iostream.h"
int main()
{
        int array[]={3,5,6,8,7,9};//定义数组并且初始化
        int size=sizeof(array)/sizeof(int);//求出数组多少元素或者大小
                cout<<"size"<<size<<endl;
        for(int i=0;i<size;++i)
                cout<<array[i]<<" ";
        cout<<endl;
        cout<<"haha";
        return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include"iostream.h"
#include"iomanip.h"
int main()
{
        char temp;
        for(int i=32;i<=127;i++)
        {
                temp=i;
                        cout<<setw(2)<<temp;
                if(i%16==0) //如果是16行的就进行换行
                {
                cout<<endl;
                }
        
        }
        return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include"iostream.h"
#include"iomanip.h"
void sort(int a[],int size);//生命调用函数
int main()
{
        int num[]={2,3,8,6,4,1,7,9};
        const int size=sizeof(num)/sizeof(int);
        sort(num,size); //调用函数
        cout<<"排列后的数组"<<endl;
        for(int i=0;i<size;i++)
        {
                cout<<setw(2)<<num[i];//输出排序玩的函数
        }

        cout<<endl;
        return 0;
}
void sort(int a[],int size)
{
        cout<<"原来的数组元素"<<endl;
        for(int i=0;i<size;i++)
        {
                cout<<setw(2)<<a[i];
        }
        cout<<endl;
        for(int j=0;j<size;j++)
        {
                int min=a[j],mink=j;//先假设第一个函数是最小;

                for(int k=j;k<size;k++)

                {
                if(a[k]<min)
                {
                        min=a[k];
                                mink=k;//进行比较扶植
                }
                }
                int temp=a[j];//下面是进行交换
                a[j]=a[mink];
                        a[mink]=temp;
        }
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//对于2为数组的初始化
#include"iostream.h"

#include"iomanip.h"
int main()
{
        int array1[3][2]={4,2,5,6};//对数组进行顺序初始化
        int array2[3][2]={{4,2},{5},{6}};//对于数组进行初始化
        cout<<"array1"<<endl;
        for(int i=0;i<3;++i)
        {
                for(int j=0;j<2;j++)
                {
                        cout<<setw(2)<<array1[i][j];
                }
                cout<<endl;
        }
        cout<<"array2"<<endl;
        for(int k=0;k<3;k++)
        {
                for(int l=0;l<2;l++)
                {
                cout<<setw(2)<<array2[k][l];

                }
                cout<<endl;
        
        }
        return 0;
}
数组的初始化顺序是先从左到右,重上倒下,按行初始化是根据大括号来初始化,在括号内也是左到右的
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include"iostream.h"
#include"iomanip.h"
void disp(int a[][2],int r,int c);
int main()
{
        int array[][2]={4,2,5,6,3,1};
        cout<<"array"<<endl;
        disp(array,3,2);//里面参数为实参
        return 0;

}
void disp(int a[][2],int r,int c)//里面为形参
{
        for(int i=0;i<r;i++)
        {
        for(int j=0;j<c;j++)
        {
        cout<<setw(2)<<a[i][j];//这是对数组的引用意思就是对每个元素

        }
        cout<<endl;
        }
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//错误程序
#include"iostream.h"
#include"iomanip.h"
void disp(int a[],int size);

int main()
{
        int array[]={1,2,3,4,5,6,7,8,9};
        const int size=sizeof(array)/sizeof(int);
        disp(array,size);
        cout<<"排序完后的数组元素"<<endl;
        for(int i=0;i<size;++i)
        {
     cout<<setw(2)<<array[i];
        }
        cout<<endl;
        return 0;
}
void disp(int a[],int size)
{
        cout<<"原来的数组元素顺序"<<endl;
        for(int i=0;i<size;++i)
        {
        cout<<setw(2)<<a[i];
        }
        cout<<endl;
        for(int j=0;j<size;j++)
        {
                int min=a[j],mink=j;
                for(int k=j;k<size;++k)
                {
                        if(a[k]<min)
                        {
                                min=a[k];
                                        mink=k;
                        }
                
                }
        int temp=a[j];
        a[j]=a[k];
        a[k]=temp;
        
        }

}
评论次数(2)  |  浏览次数(555)  |  类型(c++练习) |  收藏此文  | 

[  游客   发表于  2009-02-19 17:19  ]

i不能<=5 
=========
如果我使用的游标就是比定义的数组大小大了有什么不行么?

[  yangkai9999   发表于  2009-02-19 20:52  ]

会引起系统的数据崩溃

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码