C语言程序设计:数组长度错误和单值初始化问题解决2017-11-07
需积分: 0 106 浏览量
更新于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 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传

Friday永不为奴
- 粉丝: 22
- 资源: 317
最新资源
- [PHP.5.&.MySQL.5基础与实例教程.随书光盘].PHP.5.&.MySQL.5
- [PHP.5.&.MySQL.5基础与实例教程.随书光盘].PHP.5.&.MySQL.5
- Core J2EE Patter.pdf
- 深入浅出struts2
- S7-200自由口通讯文档
- 在tomcat6.0里配置虚拟路径
- LR8.1 操作笔记
- ASP的聊天室源码,可进行聊天
- RealView® 编译工具-汇编程序指南(pdf)
- Java连接Mysql,SQL Server, Access,Oracle实例
- 易我c++,菜鸟版c++教程。
- 软件性能测试计划模板
- SUN Multithread Programming
- 城市酒店入住信息管理系统论
- Learning patterns of activity using real-time tracking.pdf
- bus hound5.0使用 bus hound5.0使用 bus hound5.0使用