C语言课程设计
- 格式:doc
- 大小:749.00 KB
- 文档页数:31
程序设计基础(C/C++)
课程设计说明书
课程名称:程序设计基础(c/c++)
题目:数据集合处理
姓名:
学号:
班级:物流管理1301班
指导教师:
兰州交通大学交通运输学院物流管理
二○一四年七月八日
程序设计课程设计任务书
一、题目:数据集合处理
要求:
1.集合元素不超过100个。
2.集合用数组表示(数组预先定义大一些)。
功能有:
1.程序初始运行时任意输入一批初始数放入集合(可少可多,不少于5个,不超过30个)。
2.对该批数排序存放。
程序完成前两步后,通过循环可以不断选择下面的某项功能执行(用提示语句列出菜单,通过读入某变量值,可用switch判断该变量,如接受到1表示执行第一项,依次类推,某项功能执行完可以返回菜单,也可退出系统):
3. 列出集合所有元素(每行8个数,右对齐)。
4.任意插入一个数到排好序的集合中,保持集合依然有序。
5.在集合中删除一个元素。
6.查询某个值是否在集合中(该数由键盘输入)。
7.查询当前集合元素的个数。
8.输出该数据集合的最大值和最小值。
9.输出数据集合中所有奇数或偶数。
10.找出数据集合中的所有素数。
11.输入一个0-9的值,找出集合中尾数为该值的所有数。
二、文档内容要求:
1、在做上述题目时,正文要求包含4部分内容:1)解题基本思路;2)算法流程框图;3)主要程序源代码;4)程序运行截图5)总结和体会
2、文档装订顺序:1)封面;2)课程设计任务书;3)正文。
目的:熟悉c/c++语法,掌握用编程语言开发由若干功能组成的小型项目的基本流程,增强动手实践能力,巩固和加强书本知识的学习,体会c/c++编程的特点。
解题基本思路:
1.定义一个容量为100的数组a[100];
2.用for循环对数组赋值,并同时对输入的元素个数进行计数,得到集合元素的个
数n;
3.对输入的集合元素用冒泡法进行排序;
4. 输出若干提示语句;
5.用switch语句实现对选项的选择;
6. 用while循环语句使选项可以循环出现也可以退出循环;
7. 通过对switch语句中九个函数的调用,完成菜单所述功能;
8. 函数list,使用for循环和setiosflags语句、setw语句,使数组元素以右对齐、每行八个数的格式输出;
9. 函数insert,通过键盘输入要插入的数,利用步骤3中使用的冒泡法对插入数之后的集合进行排序,然后利用for循环对数组元素进行输出;
10.函数deleteitem,通过键盘输入要删除的数,利用for循环找到要删除的数的位置,然后从要删除的数的位置开始依次把后面的数前移,把要删除的数覆盖掉。最后利用for循环把前n-1个数输出。
11. 函数query,通过键盘输入要查询的数,并定义一个变量find,利用for循环查询此数是否存在数组中,若存在数组中,find变为1,输出“yes”,若不存在数组中,find依旧为0,并输出“no”;
12. 函数count,由于在主函数中输入集合初始数时就已对集合元素个数进行计数,并用n表示,所以在此函数中直接输出n即可;
13. 函数maxandmin,先把第一个值a[0]赋给最大值和最小值,利用for循环把集合里面的数依次和第一个数比较,便可得出最大值和最小值,并输出;
14. 函数maxandmin,定义两个新的数组,利用for循环通过对集合元素数除以二取余是否为零依次判断它们为奇数还是偶数,并分别把奇数偶数赋在新定义的两个数组中,最后输出这两个数组;
15. 函数prime,利用for循环依次判断数组中的数是否为素数,若元素为偶数,则此数一定不是素数,若让一个元素m从2开始依次除以这些整数,直到除以m/2,若一直结果都存在余数,则这个元素只能被1和它本身整除,这个数是素数,否则不是。
16. 函数mantissa,输入一个0-9之间的任意一个数m,再利用for循环依次判断集合中元素的尾数是否等于m,并把尾数等于m的数都输出;
算法流程框图
1.list函数(列出集合所有元素(每行8个数,右对齐))
2. insert
3. deleteitem函数(在集合中删除一个元素)
4. query函数(查询某个值是否在集合中(该数由键盘输入))
5 maxandmin函数(输出该数据集合的最大值和最小值)
6. oddandeven函数(输出数据集合中所有奇数或偶数)
7. prime函数(找出数据集合中的所有素数)
9. mantissa函数(输入一个0-9的值,找出集合中尾数为该值的所有数)
主要程序源代码:
#include
#include
using namespace std;
void list(int a[],int n)
{
int m=0,i;
for(i=0;i { cout< cout< m++; if(m%8==0) cout< } cout< } void insert(int a[],int n) { int k, i ,t,min; cout<<"请输入插入的数:"< cin>>a[n]; for(k=0;k { min=k; for(i=k+1;i {