史航416第九次作业&总结

时间:2023-03-09 03:13:21
史航416第九次作业&总结

一、知识点总结:

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

例如:int a[3][2]:定义一个二维数组a,3行2列,6个元素;

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

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

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

例如:int a[3][2]:3行2列,6个元素

a[0][0]  a[0][1]

a[1][0]  a[1][1]

a[2][0]  a[2][1]

3.分行赋初值:

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

1 2 3

4 5 6

7 8 9

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

1 2 3

0 0 0

4 5 0

0 0 0

4.顺序赋初值:

①: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};

5.赋值时省略长度:

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

6.字符串常量用一对双引号括起来的字符序列,一个字符串结束符为'\0';'\0'之后的其他数组元素与该字符串无关

字符串有效长度就是有效字符个数;

数组长度>=字符串有效长度+1

二、心得:

上一次问到c语言中定义与声明的区别

函数的定义是一个完整的函数单元,包含函数类型、函数名、形参及形参类型、函数体等,在程序中,函数的定义只能有一次。

函数声明只是对编译系统的一个说明,以告诉电脑在本函数中所调用的函数是什么类型。

调用几次该函数就应在各个主调函数中做相应声明,函数声明是一个说明语句,必须以分号结束

也不清楚总结得是否到位

作业1

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

作业2

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

作业3

#include<stdio.h>
int main(void)
{
int i=,index=,flag=;
char ch[],m;
printf("Input a character:");
scanf("%c",&m);
printf("Input a string:");
getchar();
while((ch[i]=getchar())!='\n')
{
i++;
} for(i=;ch[i]!='\0';i++)
{
if(ch[i]==m)
{
index=i;flag=;
}
}
if(flag==)
{
printf("index=%d\n",index);
}
else printf("Not Found\n");
return ;
}

作业4

#include <stdio.h>
#include <string.h>
int main()
{
int i,len;
char str[];
printf("Enter a string:");
gets(str);
len=strlen(str);
for(i=len-;i>=;i--)
{
printf("%c",str[i]);
} return ;
}