zoukankan      html  css  js  c++  java
  • 实验九总结

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

    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;
    }
  • 相关阅读:
    测试
    微商就该这么加粉丝,你造吗?
    下拉刷新ListView实现原理
    android studio出现 waiting for adb
    发现一个很好的android开发笔记库
    android studio 不能在线更新android SDK Manager问题解决办法
    asp.net中XmlDocument解析出现出错,处理特殊字符
    假如是你,你会怎么选择
    winrt 上的翻书特效组件 源码分享 转载请说明
    在Windows8 Winrt中 高性能处理多个条件语句 用于实现自定义手势
  • 原文地址:https://www.cnblogs.com/ght-c/p/6095904.html
Copyright © 2011-2022 走看看