没有合适的资源?快使用搜索试试~ 我知道了~
20151910042-刘鹏-C实验05-数组程序设计1
需积分: 0 0 下载量 116 浏览量
2022-08-08
20:26:09
上传
评论
收藏 1.11MB DOCX 举报
温馨提示
试读
18页
云南大学数学与统计学实验教学中心《高级语言程序设计》实验报告课程名称:程序设计和算法语言学期:2016~2017学年上学期成绩:指导教师:赵越学生姓名:刘鹏学生
资源详情
资源评论
资源推荐
1
云南大学数学与统计学实验教学中心
《高级语言程序设计》实验报告
课程名称:程序设计和算法语言
学期:2016~2017 学年上学期
成绩:
指导教师:赵越
学生姓名:刘鹏
学生学号:20151910042
实验名称:数组程序设计
实验编号:No.05
实验日期:2018 年 8 月 16 日
实验学时:2
学院:数学与统计学院
专业:信息与计算科学
年级:2015 级
一、 实验目的
1. 掌握数组的概念和使用方法。
2. 掌握数组初始化的方法。
3. 学会字符数组和字符串的应用。
4. 学会用数组名作函数的参数。
5. 掌握一维数组与二维数组的定义及其元素的引用方法。
6. 深刻体会数组与循环的关系。
7. 掌握利用一维数组和二维数组实现一些常用算法的编程技巧。
8. 进一步掌握动态调试的基本技能。
二、 实验环境
Windows10 Pro Workstation 17134.165;
Cygwin GCC 编译器。
三、 实验内容
3.1 有关概念
1. 只有静态数组和外部数组才能初始化。
2. 引用数组时,编译器对下标是否越界不作检查。如定义 int a[5];在引用时出现 a[5];不给出错信
息,而是引 a[4]下面一个单元的值。
3. 字符串放在字符数组中,一个字符串以' '结束,有一些字符串函数如 strcpy,strcmp,strlen
等可以方便进行字符串运算。
4. 如有如下定义:char *str = "I love china";表示 str 是一个字符型指针变量,它的值是一个
字符数据的地址。不要认为 str 是字符串变量,在其中存放一个字串"I love china"。
5. 用数组名作函数实参时,传到形参的是数组的首地址。
3.2 题 1
定义三个数组
int a[5];
int b[2][2];
云南大学数学与统计学院
2
char c[10];
分别在函数体外和函数体内对它们进行初始化,然后输出它们的值。在程序中再加一语句,输出 a[5],
b[2][2],分析结果。对 c 数组改为用赋值语句给各元素赋初值:c[0]~c[9]各元素分别为:'I', ' ', 'a',
'm', ' ', 'b', 'o', 'y'。然后用 printf("%s", c)输出字符串,分析结果。
3.2.1 程序代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
* filename: 5.1 print test.c
* property: test
*/
#include <stdio.h>
int main() {
int i, x, y;
static int a[5] = {1, 1, 1, 1, 1};
static int b[2][2]={{2, 2}, {2, 2}};
static char c[10] = {'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c'};
for(i = 0; i < 5; i++)
printf( "%5d ", a[i]);
printf("\n");
for(x = 0; x < 2; x++)
for(y = 0; y < 2; y++)
printf("%5d ",b[x][y]);
printf("\n");
for(i = 0; i < 10; i++)
printf("%3c ", c[i]);
printf("\n");
printf("a[5] = %d\n", a[5]);
printf("b[2][2] = %c\n", b[2][2]);
static char c2[10] = "I am a boy";
printf("%s\n", c2);
for(int i=0; i < 20; i++) {
printf("%d ", a[i]);
if((i+1) % 5 == 0) {
printf("\n");
}
}
return 0;
}
云南大学数学与统计学院
3
3.2.2 运行结果
3.3 搜索
有一数组,内放 10 个整数,要求找出最小的数和它的下标。然后把它和数组中最前面的元素对换位置。
编写程序,上机运行,并记录下结果。提示:数组的
10
个元素可用输入函数 scanf()通过键盘输入进去,找
出数组中最小的元素可通过循环语句和条件语句来实现。
设 min 是存放数组中最小元素的变量,array[k]为一个暂存单元。实现最前面的元素与最小元素对换
可通过下面语句实现:
array[k]=array[0];
array[0]=min;
3.3.1 程序代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
* filename: 5.2 search and insert.c
* property: test
*/
#include <stdio.h>
int main() {
int i;
int array[10];
int min, k = 0;
printf("Please input 10 data\n");
for(i = 0; i < 10; i++)
scanf("%d", &array[i]);
min = array[0];
printf("\n");
for(i = 1; i < 10; i++)
if(min > array[i]) {
min = array[i];
k = i;
剩余17页未读,继续阅读
内酷少女
- 粉丝: 16
- 资源: 302
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0