C语言程序设计:数组长度错误和单值初始化问题解决2017-11-07
需积分: 0 149 浏览量
更新于2023-12-23
收藏 854KB PDF 举报
&score1);
scanf("%d", &score2);
…
scanf("%d", &score30);
这无疑是太繁琐了,且不利于程序的维护。这时,我们不妨考虑数组的概念。数组是用来存储相同类型的多个数据的集合,它的声明形式是: type array_name[array_size]; 其中 type 是数据类型,array_name 是数组的名字,array_size 是数组的长度。例如,用数组声明得分变量的语句是这样的: int score[30];
这样,一条语句就声明了 30 个学生的得分变量,并且它们都是相互对应的。对这 30 个学生成绩信息进行初始化时也是很方便的,例如如下语句可以把所有学生成绩初始化为零:
for(i=0; i<30; i++)
score[i]=0;
作业1:用数组实现选择法排序问题:
用 C 语言编写一个程序,实现对一个整数数组进行选择法排序,并输出结果。
2.数组查找;1 数组 7.2 问题引入
在生活和各种计算机程序中,检索数组中特定元素是一个常见的操作。例如,在考试成绩的统计程序中,要查找某个学生的成绩或者某个成绩对应的学生的学号,这时需要在得分数组中进行查找;真正设计这样的程序时,实际上就面临这样一个问题:如何通过成绩信息得到学生的学号,或者如何通过学生的学号得到他的成绩。这样一个问题是数组查找问题。
问题是这样的:有一个学生学号数组进行的声明是这样的: int number[30]; 学生成绩数组进行的声明是这样的: int score[30]; 现在给定一个学生学号,要求写一个函数从 number 数组中找到这个学号,并输出其对应的得分。
解题的思路主要分为两步:
从键盘上输入学生的学号;
查找相应的学号并输出其所对应的得分。
解题的关键是要写出一个能实现查找学生学号、并输出其所对应得分的函数。这是一个在数组中查找特定元素的问题。在本题中,查找学生学号并输出其所对应的得分的函数代码如下:
int findScore(int no, int number[], int score[], int n)
{
int i;
for(i=0; i<n; i++)
{
if(no==number[i])
return score[i];
}
return -1;
}
这样,就可以很容易地找到一个学生的得分。
作业2:实现数组查找问题
用 C 语言编写一个函数,实现根据学生的学号查找其对应的得分。
3.数组的杂糅运用
在学习了数组的基本概念、用法和相关的问题后,现在我们以一个实际问题来结束这一章。问题是这样的:
有四个班的学生十六个人的成绩。用程序设计打印输出:
各个班的总分、平均分;
各个学生的总分、平均分。
解决这个问题至少要用一个一维数组和一个二维数组,涉及的问题有数组元素的初始化、数组元素的引用、数组元素内容的修改、数组元素内容的计算等。此外,在解决这一问题时,还可能要设计函数,进行一系列的查找、计算、打印等操作。在这个问题中,我们要设计的函数应该有以下几种:
对一个一维数组的元素进行初始化;
对一个二维数组的元素进行初始化;
求一个一维数组的和与平均值;
求一个二维数组的和与平均值;
打印输出一个一维数组;
打印输出一个二维数组。
在本节中,总结并熟悉以上问题解决的方法和技巧,是我们的学习目标。在本节的作业中,我们将针对以上问题设计和编写“函数”来解决这个问题。
总结:
本章通过三个问题讨论了数组的更多应用问题。这些问题从简单的数组初始化、数组的查找到数组的运算全面地训练了学生处理数组的能力。通过这些例题的学习,旨在提高对数组应用的理解,如声明数组、对数组元素赋值、引用数组元素、用下标引用数组元素、用 for 循环语句处理数组元素、用标准库函数对数组进行处理等技能。在上面的作业中,对各个类型的问题设计并实现了相应的问题基本操作的函数,从而对数组应用技巧的学习也更上了一个台阶。这样的学习方式有助于提高学生对 C 语言程序设计的综合能力,对程序解题的能力也会有所提高。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传

Friday永不为奴
- 粉丝: 22
最新资源
- Pointofix 1.7 便携版:电脑屏幕上的画笔工具
- 利用异步Socket实现TCP网络通信技术
- 解决netstat显示TIME_WAIT状态的方法及分析
- Node.js中应用Naive Bayes算法实现的电子邮件分类器
- phar-updater: PHAR文件的简易安全自我更新方案
- 51单片机GPS开发教程及NMEA解析器实现
- 2021年Spring学期Linux课程回顾
- 光盘加密大师5.0.0版本发布,提供cdlock.exe文件
- 掌握Google面试技巧:软件工程师求职必备
- Node.js在Raspberry Pi上运用Omx Player的投影技巧
- PHP-5.3.8-Windows32位版本安装教程
- django-measurements:时间序列数据集成利器
- 飞思卡尔电磁组上位机串口调试助手详细介绍
- 定制化U盘启动:使用FbinstTool修改隐藏分区
- 上限下限比较控制程序功能与实现分析
- 自定义RadioButton结合ViewPager实现滑动TabHost效果