关于c语言数组的问题?知道他是表示几行几列的!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于c语言数组的问题?知道他是表示几行几列的!相关的知识,希望对你有一定的参考价值。

是个3*4的二维数组,即三行四列0,1,2,3,
4,5,6,7,8,9,10,11
分别表示第一行到第三行的元素。即第一行元素值:a[0][0]=0,a[0][1]=1,a[0][2]=2,
a[0][3]=3,分别对应第一个花括号0,1,2,3,以此类推。
这是前人规定的,不是以我们意志转移的,这个是在赋初值啊!
参考技术A 两个都表示下标。num
循环控制变量。pos
已获得并采纳的随机数个数
数组个数控制是用
do
...
while(pos
<
7);
条件:下标小于7
for(num
=
0;num
<=
pos-1;num++)

这个用于检查num

评论
0

0

0

加载更多

游戏得有活动的场景:代码中多行多列的LinearLayout布局

既然是江湖,总得有一些可以到处跑的地儿。

咱是新手,那就排的简单点,排个几行几列的就完事了。至于到底排个几行几列的,这个倒也说不准。

得,那就不能直接在layout/xml里面直接画了。咋办?也好办,在activity里面通过代码生成布局就可以了。

activity_scene_fight.xml 如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/layout_scene"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center_horizontal"/>

    <TextView
        android:id="@+id/t_fight_log"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

在activity中添加了一个子布局linearlayout:layout_scene和一个textview。layout_scene中将用于展示接下来由代码生成的各种场景的控件。

首先,得能生成单独一行的场景:

/**
  * @param clomuns 单行显示的场景数
  * @return 返回单行显示的LinearLayout
  */
private LinearLayout rowsLayout(int clomuns){
    LinearLayout rl= new LinearLayout(this);
    //设置LayoutParams
    LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
    //设置为水平布局
    rl.setOrientation(LinearLayout.HORIZONTAL);
    rl.setLayoutParams(lp);
    //循环添加场景button
    for (int j = 0; j < clomuns; j++) {
        Button b_scene = new Button(this);
        //设置场景按钮的名称
        b_scene.setText("场景"+j);
        //绑定点击事件
        b_scene.setOnClickListener(clickListener);
        //添加到创建的线性布局中
        rl.addView(b_scene);
    }
    //添加到显示的父线性布局中
    return rl;
}

/**
  * 点击事件
  */
private OnClickListener clickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        t_fight_log.append("你来到了"+((TextView)v).getText()+"
");
    }
};

 下一步,生成多行的场景控件,代码如下:

    /**
     * @param sceneNums活动场景数量
     * @return 返回自定义的场景布局
     */
    private LinearLayout sceneLayout(int sceneNums,int colnum){
        LinearLayout sly=new LinearLayout(this);
        LayoutParams lp = new LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        //设置为垂直布局
        sly.setOrientation(LinearLayout.VERTICAL);
        sly.setLayoutParams(lp);

        int rows=sceneNums/colnum;
        int surplus=sceneNums%colnum;
        if (surplus==0) {
            //如果能够被整除
            for (int i = 0; i < rows; i++) {
                sly.addView(rowsLayout(colnum));
            }
        }else{
            //如果不能够被整除
            int i;
            for ( i=0 ; i < rows; i++) {
                sly.addView(rowsLayout(colnum));
            }
            //创建最后剩下的,不足一行的布局
            sly.addView(rowsLayout(surplus));
        }
        return  sly;
    }

 FightSceneActivity.java代码如下:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scene_fight);

    //获取场景列表,生成页面各元素
    fightSceneLayout=(LinearLayout)this.findViewById(R.id.layout_scene);
    fightSceneLayout.addView(sceneLayout(11,4));
    t_fight_log=(TextView) findViewById(R.id.t_fight_log);
}

最终效果如下:

技术分享图片

 


以上是关于关于c语言数组的问题?知道他是表示几行几列的!的主要内容,如果未能解决你的问题,请参考以下文章

C语言中怎样区分一维指针和二维指针?

Delphi 整合数组(Group by某列)

js脚本:一个页面含2个文本框,输入2个正整数,点击确认按钮,动态的在页面上形成几行几列的表格。

三维数组

Matlab获取矩阵几行几列

JAVA中如何对二维数组的每一列进行排序