- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 数组(参考答案)
一.选择题
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 答案 C C D C A B C C B A C D D D
序号 15 16 17 18 19 20 答案 B B D C D B
二.填空题
序号 1 2 3 4 5 6 7 8 9 答案 abcbcc 92 a[i]、a[i] 1 3 7 15 1 2 3
0 5 6
0 0 9 58 s[i++] Hello ABC6789
序号 10 11 12 答案 14 abc BBB 三.编程题
1、【算法提示】(1)定义一个存放20个元素的数组;
(2)通过for循环输入20个无序的数;
(3)应用冒泡法或选择法对20个数进行排序(比较数的大小,决定是否交换);
(4)输出该排序后的数组内容(20个有序的数)。
【参考程序】
方法1---用选择法对10个整数从小到大排序
#include stdio.h
int main()
{
int i,j,a[10],t,min; //定义变量和数组
// 数组元素从键盘输入
for(i=0;i10;i++)
scanf(%d,a[i]);
//选择法排序
for(i=0;i9;i++)
{ min=i;
for(j=i;j=9;j++)
{
if(a[j]a[min])
min=j;
}
//只交换一次
t=a[i];
a[i]=a[min];
a[min]=t;
}
//输出排序后的结果,以验证排序是否正确
for(i=0;i10;i++)
printf(%5d,a[i]);
return 0;
}
//方法2---用冒泡法对10个整数从小到大排序
#include stdio.h
int main()
{ //定义变量和数组
int i,j,a[10],t;
// 数组元素从键盘输入
for(i=0;i10;i++)
scanf(%d,a[i]);
//冒泡法排序
for(j=1;j10;j++)
for(i=0;i=9-j;i++)
if(a[i]a[i+1])
{t=a[i+1];a[i+1]=a[i];a[i]=t;}
//输出排序后的结果,以验证排序是否正确
for(i=0;i10;i++)
printf(%5d,a[i]);
return 0;
}
2、【算法提示】(1)定义一个存放10个元素的整形数组;
(2)通过for循环输入10个整数;
(3)用两个变量保存该数组中的最大值与最小值;
(4)输出该最大值、最小值。
【参考程序】
#includestdio.h
int main()
{ int i,a[10],max,min;
scanf(%d,a[0]);
max=min=a[0];
for(i=1;i=9;i++)
{ scanf(%d,a[i]);
if(a[i]max) max=a[i];
if(a[i]min) min=a[i];
}
printf(min=%d, max=%d\n,min,max);
return 0;
}
3、【算法提示】(1)定义一个二行三列的二维整形数组;
(2)通过双重for循环输入6个值(其值和特征为,起始值为2,每次递增2)的整数;
(3)用双重for循环输出该6个数值。
【参考程序】
#includestdio.h
void main()
{
int num[2][3];
int i=0,j=0;
for(i=0;i2;i++)
{
for(j=0;j3;j++)
num[i][j] = 2*((3*i)+j+1);
}
for(j=0;j3;j++)
for(i=0;i2;i++)
printf(%d,,num[i][j]);
}
4、【算法提示】(1)定义一个存放n个元素的整形数组;(2)通过for循环输入n个整数;(3)扫描数组,记下序列中的最大值与最小值在数组中的位置;(4)将最大值位置的数与第一个元素交换,将最小值位置的数与第后一个元素交换;(5)输出该有序序列。
【参考程序】
#includestdio.h
main()
{ int i,a[10],max,min,m,n;
for(j=0;j10;j++)
scanf(%d,a[i]);
max=min=
您可能关注的文档
- C语言程序设计新视角 教学课件 作者 周幸妮 全书教案第6章.ppt
- C语言程序设计新视角 教学课件 作者 周幸妮 全书教案第7章.ppt
- C语言程序设计新视角 教学课件 作者 周幸妮 全书教案第8章.ppt
- C语言程序设计新视角 教学课件 作者 周幸妮 全书教案第9章.ppt
- C语言程序设计新视角 教学课件 作者 周幸妮 全书教案第10章.ppt
- C语言程序设计应用教程 教学课件 作者 许勇 第1章 C语言概述与算法.ppt
- C语言程序设计应用教程 教学课件 作者 许勇 第2章 基本数据类型、运算符与表达式.ppt
- C语言程序设计应用教程 教学课件 作者 许勇 第3章 程序流程控制.ppt
- C语言程序设计应用教程 教学课件 作者 许勇 第4章 数组和字符串.ppt
- C语言程序设计应用教程 教学课件 作者 许勇 第6章 指针.ppt
文档评论(0)