c语言实验6__数组,C语言实验6-数组(1).ppt

数组

实验纲要

实验目的:

(1)掌握一维数组的基本操作;

(2)掌握二维数组的基本操作;

实验环境:安装有Microsoft VC++6.0的PC机

实验内容:完成课件中的相关习题

实验学时:4学时

内容讲解

数组的定义

---可以存储多个数据值的数据结构;

---每一个数据值的数据类型相同;

数组的下标:

数组的下标从0开始:例如:int a[5];它的5个元素分别为: a[0],a[1],a[2],a[3],a[4];

一维数组的声明

数组在声明的时候必须用常量指定其大小【C89】

int n;scanf(“%d”,&n);int a[n];

( × )

int n=10;int a[n];

(×)

const int n=10;int a[n];

(√)

inta[10];

(√)

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

(√)

#define N 5……int a[N];

(√)

二维数组的声明

int a[][5];

( × )

int a[3][];

(×)

int a[3][5];

(√)

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

(√)

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

( × )

二维数组的存储顺序:

int a[3][4];

a[0][0]

a[0][1]

a[0][2]

a[0][3]

a[1][0]

a[1][1]

a[1][2]

a[1][3]

a[2][0]

a[2][1]

a[2][2]

a[2][3]

字符数组

1、声明

如char a[5],b[2][3];等

2、赋值

逐一赋值(一个字符一个字符的赋值)

char a[5]={'a','b','c','d','e'}; (√)

char a[5]={'a','b','c','d','e','f'};(×)

char a[5]={'a','b','c'}; (√)

a[0]

a[1]

a[2]

a[3]

a[4]

a

b

c

d

e

a[0]

a[1]

a[2]

a[3]

a[4]

a

b

c

\0

\0

用字符串常量赋值

char b[]="abcde";(√)

char b[6]="abcde";(√)【等价】

char b[6]={"abcde"};(√)

char b[5]="abcde";(×)

b[0]

b[1]

b[2]

b[3]

b[4]

b[5]

a

b

c

d

e

\0

字符数组输入

采用逐一输入

char a[5];

for(int i=0;i<5;i++)

{

scanf("%c",&a[i]);

//a[i]=getchar();

}

采用scanf函数输入

char a[5];

scanf("%s",a);

注意:

(1) a前面没有地址符&;

(2) 采用scanf输入,一旦遇到空格OR回车OR制表符等,即表示输入结束;

如我们从键盘上输入 ab cde,那么数组a的值为ab

(3)采用gets函数输入

char a[5];

gets(a);

注意:

采用gets()函数输入,仅在遇到回车时,才表示输入结束。

如我们从键盘上输入ab cde,则输入a的值为:

ab cde

字符数组输出

习题1

从键盘上输入六个整数,存放到整型数组arr中,再从键盘上输入一个整数,存放到整型变量n中。

要求:

编程查找整数n是否在数组arr中出现过。若出现,则输出第一次出现的位置,否则,输出no found

习题2

编程实现将原数组中的元素逆序存储:例如原数组a[]={5,2,7,4} ,则逆序后的数组a[]={4,7,2,5}.

要求:

(1)分别输出逆序前、后数组各元素的数值;

(2)逆序实现不要借助其他数组;

习题3

输出数组中的元素(重复的元素只输出一次):

例如数组int a[]={1,1,2,3,26,3,4,5,8,7,7,4};则应输出 1 2 3 26 4 5 8 7

习题4

编写一个程序,将用户输入的十进制正整数转换成任意进制(2~16)的数(将结果存储在一维数组中,最后显示结果)

习题5

假设共有3名学生,每名学生都有5门成绩(语文、数学、英语、化学、物理)。

要求:

(1)从键盘上输入每位学生的5门课程成绩;

(2)输出每位同学的总成绩和平均分;

习题6

使用二维数组打印如下图形(杨辉三角)。

习题7

编写一个程序,将两个字符串连接起来。

注意:不要用strcat函数。

习题8

编写程序,读入一个以符号"!"结束的长度小于20字节的英文句子,检查其是否为回文(即正读和反读都是一样的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值