c语言实验6数组实验报告,C语言实验6数组.doc

C语言实验6数组

福建农林大学实验报告

系(教研室): 专业: 年级: 2010

实验课程: C语言程序设计 姓名: 学号: 实验室号:1#608_

计算机号: 实验时间: 2012.11.12 指导教师签字: 成绩:

实验6:数组

实验目的和要求

1.掌握一维数组和二维数组的定义、赋值和输入输出的方法

2.掌握字符数组和字符串函数的使用

3.掌握与数组有关的算法(特别是排序算法)

实验内容和原理

1. 分别采用冒泡法、选择排序法对10个整数排序。10个整数用scanf函数输入。

2. 将两个字符串连接起来,不要用strcat函数。

3. 将一个数组中的值按逆序存放。例如,原来顺序为3 2 1 8 9。要求改为9 8 1 2 3。

4. 输出杨辉三角形(要求输出10行)

5. 以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回。请填空,并写一个main()函数调用fun函数。(符号常量N定义为10)

int fun(int x[N])

{int i,k=0;

for(i=0;i

if (x[i]

return x[k];

}

6.已知一个已排好序的数组,要求输入1个数后,按原来排序的规律将它插入数组中。

实验环境

1. 硬件:PC机;

2. 软件:Windows操作系统、Visual C++ 6.0 。

算法描述及实验步骤

第一题(起泡法)

如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。

第一题(选择排序法)

从n个元素中,通过比较,找出最小元素,放在第一个位置上。

在剩下的n –1个元素中,找出第二小的元素并把它放在第二个位置上。

对上述过程重复,直至剩下一个元素。

第二题

输入字符串s1和s2

当字符串s1【i】不等于\0时,进行i++

当字符串s2【j】不等于\0时,s1[i++]=s2[j++],s1[i]=’\0’

输出连接后字符串

第三题

显示初始数组元素

当for(i=0;i<=n/2,i++)将第i个元素与n-1-i个元素互换

显示逆序排放的各数组元素

第四题

用for构造出十行十列

各行的第一个数都为1,各行最后一个数也为1

从第三行开始,a【i】【j】=a【i-1】【j】+a【i-1】【j-1】

输出十行十列的杨辉三角

第五题

1、定义i、k两个整型变量,i作为循环变量使用,k准备存储最小值的下标。

2、for结构,i的值从0循环到N-1,因为数组的长度为N所以数组元素下标最大值不是N-1。

3、如果x[i]小于x[k]则说明下标为i的元素比下标为k的还小,所以应该将i的值赋给k,因为k中准备存储最小元素的下标。所以应该填写k=i ;

4、输出x[k],即找到的最小值。

第六题

显示初始数组

输入待插入的数值num

如果插入数比数组最后一个数大,则插入数放在数组最后面

如果不比最后一个数大,则它一次和a【0】到a【n-1】比较,直到a【i】>a【i-1】

将a【i】到a【n-1】各元素向后移动一个位子

然后输出插入后的数列

调试过程

第一题:1.1.exe - 0 error(s), 0 warning(s)

1.2.exe - 0 error(s), 0 warning(s)

第二题:2.exe - 0 error(s), 0 warning(s)

第三题:3.exe - 0 error(s), 0 warning(s)

第四题:4.exe - 0 error(s), 0 warning(s)

第五题:5.exe - 0 error(s), 0 warning(s)

第六题:6.exe - 0 error(s), 0 warning(s)

实验结果

第一题(起泡法)

第一题(选择排序法)

第二题

第三题

第四题

第五题

第六题

总结

1.掌握一维数组和二维数组的定义、赋值和输入输出的方法

2.掌握字符数组和字符串函数的使用

3.掌握与数组有关的算法

4.更加熟悉了一些简单程序的编写

5.学会了同一道题目用不同的算法进行编程

附录:

第一题(起泡法)

#include

void main()

{ int a[11];

int i, j, t;

printf("请输入10个数 :\n");

for (i=1; i<11; i++)

scanf("%d

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值