• 实验九总结


    二维数组
    定义形式为:类型名 数组名 【行长度】【列长度】

    int a[6][6];

    引用二位数的的元素要制定两个下表,及行下标和列下标:数组名【行下标】【列下标】

    同一维数组相同其合理的取值范围是【0,行(列)长度-1】

    在二位数组的输入中是按照如下顺序输入的

    1 2 3
    4 5 6
    7 8

    9

    在定义二维数组的过程中,有两种方法

    1.分行赋初值

    类型名 数组名【行长度】【列长度】={{初值表0},......{初值表k},......}

    int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}

    此时为:1 2 3
               4 5 6
               7 8 9

    与一维数组相同二维数组也可只为部分元素赋值

    2.顺序赋值法

    类型名 数组名【行长度】【列长度】={。。。。。。。。。。}

    int a[3][3]={1,2,3,4,5,6,7,8,9}

    等同于上者

    二维数组的赋值一般使用循环嵌套

    for(i=0;i<80;i++}
        for(n=0;i<80;i++)
            scanf("%d",&a[i][n]

    一位字符数组是存放字符型数据的一维数组,所以他的定义初始化等均与一维数组相同,在此不再赘述

    字符串是一串字符,以结尾,在c语言中被视为特殊的一维字符数组

    他的定义一般为

    while((str[i]=getchar())!='
    ')
            i++;
        str[i]='';

     第一题

    #include<stdio.h>
    int main()
    {
        int a[6][6];
        int i,j,n,m,temp,x;
        //为二维数组赋值
        printf("ENTER: x");
        for(n=0;n<6;n++)
            for(m=0;m<x;m++)
                scanf("%d",&a[i][j]);
        //行列互换
        for(n=0;n<6;n++)
            for(m=0;m<x;m++)
                if(i<=j)
                {
                    temp=a[i][j];
                    a[i][j]=a[j][i];
                    a[j][i]=temp;
                }
        for(n=0;n<6;n++)
            for(m=0;m<6;m++)
                printf("&4d",a[i][j]);
            printf("
    ");
        return 0; 
    } 

    第二题

    #include <stdio.h>
    int main()
    {
        int i,j;
        int a[9][9];
        for(i=1;i<=9;i++)
            for(j=1;j<=9;j++)
                a[i-1][j-1]=i*j;
        for(i=0;i<9;i++)
        {
            for(j=0;j<9;j++)
            printf("%4d",a[i][j]);
        printf("
    ");
        }
    }

    第三题

    #include<stdio.h>
    int main()
    {
        char str[80];
        int i=0,temp=0;
        char m; 
        printf("ENTER string:");
        while((str[i]=getchar())!='
    ')
            i++;
        str[i]='';
        printf("请输入要查询字母:");
        scanf("%c",&m);
        for(i=0;i<80;i++)
            if(str[i]==m)
            {
                printf("是第%d个字母",i);
                temp=1;
                break;
            }
        if(temp==0)
            printf("NOT FOUND
    ");
        return 0;
    }

    第四题

    #include <stdio.h>
    int main()
    {   
        char a[80];
        static char b[80];
        int  i,n,m,;
        printf("请输入字符串(80长度以内):
    ");
        while((a[m]=getchar())!='
    ')
            m++;
        a[m]='';
        for(i=0;i<80;i++)
            for(n=m;n>=0;n--)
                b[n]=a[i];
        for(i=0;i<80;i++)
            printf("%c",b[i]);
        return 0;
    }
  • 相关阅读:
    Android 编辑框(EditText)属性学习
    读书笔记 -《高效程序猿的45个习惯-敏捷开发修炼之道》
    Launcher3实现壁纸居中
    Trie树的常见应用大总结(面试+附代码实现)
    LeetCode Summary Ranges
    abap选择屏幕上的button
    SQLite Expert表分离和解决SQLite Expert删除表后大小不变的问题
    git push 失败
    动态限制EdiText仅仅能输入特定字符
    DateTime类常用技巧摘录
  • 原文地址:https://www.cnblogs.com/ght-c/p/6095904.html
Copyright © 2020-2023  润新知