C语言实验九环节(从零到入门)

实验9  数组高级应用

目录

实验9  数组高级应用

一 :实验目的

二 :实验内容提要

1:二维数组的定义和引用

2:二维数组的基本操作

3:字符数组(字符串)

三:实验题目

9-1.c:编写一个程序计算两个3*4阶矩阵相加,并打印出结果。

 9-2.c:从键盘输入一个5*5矩阵,计算其正对角线元素之和。

9-3.c:定义一个一维数组s[4]和一个二维数组a[4][5],并通过键盘对二维数组赋初值。找出二维数组中每行的最大值,并填入一维数组。如第0行的最大值填入s[0], 第1行的最大值填入s[1],以此类推。

9-4.c:从键盘输入一个字符串并保存起来,统计该字符串中大写字母、小写字母、数字、其他字符的个数。

9-5.c:编写程序实现输入两个字符串,连接起来后保存在第三个字符串中(不用strcpy函数)。

9-6.c:输入一个字符串,统计其中单词个数。

9-7.c:输入一个字符串,再输入一个字符,将字符串中的这一字符全部删除。

9-8.c:输入10个同学3门课成绩并保存。

9-9.c:输出n行的杨辉三角形 


一 :实验目的

1:理解二维数组在内存中的存放形式。

2:掌握二维数组变量的定义和数组元素的引用。

3:掌握字符串和字符数组的区别。

二 :实验内容提要

1:二维数组的定义和引用

二维数组在物理上采用按行存储的循序存储方式,我们称这种存储顺序为以行序为主序的循序存储结构。

定义形式如下:

类型 数组名[行数][列数]

 

2:二维数组的基本操作

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

//在程序中进行赋值 用循环的嵌套;
for(i=0;i<2;i++)
    for(j=0;j<3;j++)
      scanf("%d",&a[i][j]);

  for(i=0;i<2;i++)
  {		for(j=0;j<3;j++)
      		printf("%6d",a[i][j]);
		printf(“\n”);
  }

 

3:字符数组(字符串)

char str[20];
for(i=0;i<20;i++)
	scanf(“%c”,&str[i]);
for(i=0;i<20;i++)
	scanf(“%c”,str[i]);
scanf(“%s”,str);
printf(“%s”,str);
gets(str);
puts(str);

 注意字符数组的名字 其实代表的是字符数组的首地址。

 

三:实验题目

9-1.c:编写一个程序计算两个3*4阶矩阵相加,并打印出结果。

 

 9-2.c:从键盘输入一个5*5矩阵,计算其正对角线元素之和。

 

9-3.c:定义一个一维数组s[4]和一个二维数组a[4][5],并通过键盘对二维数组赋初值。找出二维数组中每行的最大值,并填入一维数组。如第0行的最大值填入s[0], 第1行的最大值填入s[1],以此类推。

 

9-4.c:从键盘输入一个字符串并保存起来,统计该字符串中大写字母、小写字母、数字、其他字符的个数。

 

9-5.c:编写程序实现输入两个字符串,连接起来后保存在第三个字符串中(不用strcpy函数)。

 

9-6.c:输入一个字符串,统计其中单词个数。

升级版:定义一个二维字符数组s[4][20],输入四句话保存起来,并统计每句话中的单词个数。

 

9-7.c输入一个字符串,再输入一个字符,将字符串中的这一字符全部删除。

升级版:

(1)查找字符:从键盘输入一行字符串,再输入一个字符,判断后输入的字符在前面字符串中出现的次数,若没有则输出此字符不存在。

(2)删除单词:输入一个单词,将字符串中的这一单词找出来全部删除。 

 

9-8.c输入10个同学3门课成绩并保存。

计算每个同学的总分和平均分,保存并输出。

 计算每门课程的总分和平均分,保存并输出。

 找出并输出每门课程的最高分及其学号。

思考题:中间第5行插入一个同学的成绩

 

思考题:如果需要保存并打印每个同学的名字,应如何处理?

 

9-9.c:输出n行的杨辉三角形 

附注:实验为博主刚学C语言时候老师布置的作业,发表出来,仅供做题与参考。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值