c语言==一维数组与二维数组(2)

今天复习了数组内容。
包括一维数组,二维数组,字符数组,字符串等内容。


一维数组

形式就是int a[常量(可缺省)]={1,2,3}

冒泡排序
设数组个数为n,则冒泡排序要比较n-1次
在某一次比较中。将其可以比较的最后一个数与前面所有的数进行比较。
最终将数组全部比较,形成升序或降序排列。

#include <stdio.h>

int main()
{
    int i;
    int j;
    int temp;

    int a[6] = {1, 4, 6, 2, 7, 0};

    for(j = 0; j < 5; j++)
    {
        for(i = 5; i > j; i--)
        {
            if(a[i-1] > a[i])
            {   
                temp = a[i];
                a[i] = a[i-1];
                a[i-1] = temp;
            }
        }
    }

    for(i = 0; i < 6; i++)
    {
        printf("%d\t" , a[i]);

        if (i == 5)
        {
            printf("\n");
        }
    }

    return 0;
}

输入星号三角形
首先是书上有一道题目是这样的,让我输出如下的星号三角形。
这里写图片描述
当时我想的是自己键入有多少行。
先输出前面所有的\t,再输出※,再输出※间的\t,直到输出完所有的※

但是我才疏学浅,敲不对。
于是看了书上的答案。发现他就是描述了这个图而已。在定义二维数组的时候给他初始化了,{ {……},{……},{……} }。是※就打出来,不是※就直接’ ‘,然后输出的时候一股脑输出就可以得到正确答案了。

但是我的那个方法还没有得到答案,于是我就百度了。百度上好像也没有我这样奇葩的想法。是如下的这种星号三角形。星号之间没有空格。
这里写图片描述
大概思想就是把前面的空格先输出出来,然后输出※就可以了。不需要输出※间的空格

#include <stdio.h>

int main()
{
    int i;
    int j;
    int h;

    printf("请输入三角形的高\n");
    scanf("%d" , &h );

    for(i = 0; i < h; i++)
    {
        for(j = 0; j < h - i; j++)
            printf(" ");
        for(j = h - i; j < h + i + 1; j++)
            printf("*");
        printf("\n");
    }

    return 0;
}

然后我又尝试了一下星号之间有空格的情况
这里写图片描述

#include <stdio.h>

int main()
{
    int i;
    int j;
    int h;

    printf("请输入三角形的高\n");
    scanf("%d" , &h );

    for(i = 0; i < h; i++)
    {
        for(j = 0; j < h - i - 1; j++)
             printf("\t");
        for(j = h - i - 1; j < h + i; j++)
            printf("*\t");
        printf("\n");
    }

    return 0;
}

二维数组

形式是 int a[][]={ {1,2,3} , {4,5,6} }

倒置二维数组
只需将行数变为列数,列数变为行数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值