第九次作业总结

实验1:

#include<stdio.h>
int main() 
{
    int i,j,n,temp;
    int a[6][6];
    printf("Enter n:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            a[i][j]=i*n+j+1;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            if(i<=j){
                temp=a[i][j];
                a[i][j]=a[j][i];
                a[j][i]=temp;
            }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++) 
            printf("%4d",a[i][j]);
        printf("\n");
    }
    return 0;
}

 

实验2:

#include<stdio.h>
int main(void)
{
    int i,j;
    int a[10][10]; 
    for(i=1;i<10;i++){  
        for(j=1;j<=i;j++){
            a[i][j]=i*j;
            printf("%d*%d=%d\t",i,j,a[i][j]);   
        }
        printf("\n");
    }
    return 0;
}

实验3:

#include<stdio.h>
int main() 
{
    int i,k,temp;
    char str[81],ch,ch1;
    printf("输入一个字符:\n");
    scanf("%d%d",&ch,&ch1);
    printf("input a string:");
    i=0;
    while((str[i]=getchar())!='\n')
    i++;
    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]==ch)
        {
            k=i;temp=1;
        }
    }
    if(temp==1)
        printf("这个字符最大的下标是:%d",k);
    else
        printf("Not found");
    return 0;
}

 

实验4:

#include<stdio.h>
int main() 
{
    int i,k,temp;
    char str[80];
    int n;
    printf("Enter a string:");
    i=0;
    while((str[i]=getchar())!='\n')
    i++;
    str[i]='\0';
    k=i-1;
    for(i=0;i<k;i++){
        temp=str[i];
        str[i]=str[k];
        str[k]=temp;
        k--;
    }
    for(i=0;str[i]!='\0';i++)
    putchar(str[i]);
    return 0;
}

 

一.知识点总结:

1.二维数组的定义:

二维数组定义的形式:类型名 数组名[行长度][列长度]

例如:int a[3][2];

        定义1个二维数组a,3行2列,6个元素

2.二维数组的引用:

二维数组的引用形式:类型名 数组名[行下标][列下标]

行下标的范围:0~行长度-1

列下标的范围:0~列长度-1

3.二维数组的初始化

(1)分行赋初值

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

static int b[4][3]={{1,2,3},{},{4,5}};

数组a  1 2 3          数组b 1 2 3

         4 5 6                   0 0 0

         7 8 9                   4 5 0

                                    0 0 0

(2)顺序赋初值

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

static int b[4][3]={1,2,3,0,0,0,4,5};

(3)赋值时省略行长度:

对全部元素都赋了初值,int a[][3]={1,2,3,4,5,6,7,8,9};

分行赋初值时,在初值表中列出了全部行,static int b[][3]={{1,2,3},{},{4,5},{}}

4.字符串的存储和运算可以用一维字符数组实现,一维字符数组的定义,引用,初始化与其他类型的一维数组一样

5.字符串常量用一对双引号括起来的字符序列,字符号的有效长度:有效字符的个数,字符串可以存放在一维数组中

字符数组初始化:用字符串常量   数组长度>=字符串的有效长度+1

6.普通字符数组:数组元素的个数是确定的,一般用下标控制循环

字符串:没有显示地给出有效字符的个数,只规定在字符串结束符'\0'之前的字符都是字符串的有效数字,一般用结束符'\0'来控制循环

7.将字符串存入数组,对字符串初始化还可以采用赋值和输入方法

二.实验心得

      这次作业基本上没有什么问题,都能顺利的完成,都是老师上课讲过的,可能会有地方不同,但是通过看书还是可以解决的,通过这次作业对二维数组有了一定的了解,跟一维数组的使用方法差不多,对字符串的使用也掌握的差不多,但还需在课下时间进行巩固,才能在以后更灵活的使用。

      

 

posted @ 2016-11-22 19:16  闫墨杰  阅读(189)  评论(2编辑  收藏  举报