c语言综合作业怎么提交,西南大学C语言综合作业数组的各项基本操作.doc

一、综合设计题目:

数组的各项基本操作。

二、综合设计分工说明

本实验由我一个人完成。

三、问题概述

本实验要求编写出一个程序,它能反复实现数组里的几个基本操作(输入、输出、排序、查找、插入、删除);而且要尽可能的使用模块化的程序设计方法,尽可能的体现c语言的

风格。

四、问题分析:

本实验可先分功能模块完成各个基本操作,再利用函数的调用实现程序的全部功能;各功能模块的编写可在自己编写过的数组的基本操作的程序的基础之上做些修改来实现。

五、功能模块描述及功能模块图:

每个功能模块的功能:

输入:输入数组里的各个元素

输出:输出数组里的各个元素

排序:将数组里的数从小到大或从大到小进行排序

查找:判断一个数是否是该数组中的一个数

插入:向数组中插入一个数

删除:将数组中的一个数删除掉

六、每个功能模块的算法描述及其实现 :

输入:

函数的作用:输入数组中的每一个元素;

参数:int a[] int n;

返回值:无;

函数名,功能及实现方法:input; 运用for语句实现输入

具体函数如下:

void input(int a[],int n)

{int i;

for(i=0;i

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

}

输出:

函数的作用:输出数组中的每一个元素;

参数:int a[] int n;

返回值:无;

函数名,功能及实现方法:output; 运用for语句实现输入

具体函数如下:

void output(int a[],int n)

{int i;

for(i=0;i

printf("%d ",a[i]);

printf("\n");

}

排序:

(1)函数的作用:将数组里的数从大到小排序

参数:int a[] int n;

返回值:无;

函数名,功能及实现方法:f; 冒泡排序法

具体函数如下:

void f(int a[],int n)

{int i,j,t;

for(j=0;j

for(i=0;i

if(a[i]

{t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("数组中各数从大到小的顺序为: ");

output(a,n);

}

(2)函数的作用:将数组里的数从小到大排序

参数:int a[] int n;

返回值:无;

函数名,功能及实现方法:f1; 冒泡排序法

具体函数如下:

void f1(int a[],int n)

{int i,j,t;

for(j=0;j

for(i=0;i

if(a[i]>a[i+1])

{t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("数组中各数从小到大的顺序为: ");

output(a,n);

}

查找:

函数的作用:判断一个数x是否是该数组中的一个数

参数:int a[] int n;

返回值:无;

函数名,功能及实现方法:f2; 折半查找发

具体函数如下:

void f2(int a[],int n)

{int i,j,k,x,l;

f1(a,n);

printf("请输入要查找的一个整数: ");

scanf("%d",&x);

l=0;

i=0;

j=n-1;

while(i<=j&&l==0)

{k=(i+j)/2;

if(x==a[k]){l=1;break;}

if(x>a[k])i=k+1;

if(x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值