第一范文网 - 专业文章范例文档资料分享平台

C语言程序设计实验指导书 - V2.0

来源:用户分享 时间:2025/8/24 23:58:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

printf(\

(二)编写一程序,为一维数组a中的元素赋值,并按照逆序输出。

编程提示:通过对一维数组的输入输出来实现。

1. 首先复习教材上知识点,充分理解例题。

2. 对一维数组的输入可以参照实验内容(一)中的三种方法,选择其一输出,用循环结构来实现。

3. 注意是逆序输出,可以通过输出时,在for语句中利用循环变量递减的方法来实现。 /* c6-4.c 利用循环实现一维数组的输入输出*/ #include \void main( )

{ int i,a[10]; /* 定义循环变量i和一维数组a */ for (i=0;i<=9;i++)

scanf(\

for ( ____ _) /* 请补充完整循环语句 */ printf(\ \ /* 按照逆序输出 */ printf(\} (三)编写程序,输出一维数组a中的元素最小值及其下标。

编程提示: 1.定义一个整型变量存放最小值下标,将其初始化为0 ,例如:int p=0;即从数组第零个元素开始判断。

2.通过循环,依次判断数组中的每一个元素a[i]是否小于a[p],如果是,则将p和a[p]的值作相应的改变。

/* c6-5.c 输出一维数组中元素的最小值及其下标*/ #include \void main( )

{ int i,m,p,a[10]={9,8,7,6,1,3,5,18,2,4}; /* m为最小值,p为其下标 */ m=a[0]; p=0;

for(i=1;i<10;i++) if (a[i]

{ ; p=i;} /* 请补充完整此语句 */

printf(\ /* 输出一维数组a中的最小值及其下标 */ }

(四)编写一程序,求一维数组中下标为偶数的元素之和。

编程提示: 1.定义一个数组a并初始化。

2.定义一个整型变量sum,存放下标为偶数的元素和,并初始化为0。

3.从数组的第0个元素开始,每次循环变量递增2,一直到数组的最后一个元素,将其累加到sum变量。

4.输出sum变量即为下标为偶数的元素之和。

/* c6-6.c 求一维数组中下标为偶数的元素之和*/ #include \void main( )

{ int i,sum=0; /* 初始化sum为0 */

26

int a[]={2,3,4,5,6,7,8,9};

for(i=0; i<8; ) /* 请补充完整循环语句 */ sum+=a[i];

printf(\}

(五)编写一程序,将100以内的素数存放到一个数组中。

编程提示:这是一个双层循环嵌套的程序。

1.首先复习教材上的内容,掌握判断素数的方法。

2.定义一个数组存放100以内的素数,想一想该数组的大小应该为多少? 3.定义一个整型变量作循环变量。

4.定义一个整型变量作为数组元素下标的计数器,想一想该变量应赋什么样的初值? 5.在外层循环中,对1~100之间的所有整数进行判断;内层循环则判断每个整数是否为素数。如果是素数,存放到数组中,并使数组下标变量加1;否则继续判断下一个整数。

6.用循环语句输出数组中的所有素数,注意循环变量的初值和终值如何确定。

(六)将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1,2,要求改为按2,1,4,5,6,8的顺序存放(注意是逆序存放而不是逆序输出)。

编程提示: 1.定义一个数组,为该数组赋值(可以在定义时初始化,也可以用循环语句)。 2.在循环中,使第0个元素与第5个元素交换,第1个元素与第4个元素交换,第2个元素与第个3元素交换(注意循环次数按n/2确定,n为数据个数)。

3.输出逆序存放后的各数组元素(使用循环语句)。

五、实验注意事项

(一)C规定,数组的下标下界为0,因此数组元素下标的上界是该数组元素的个数减1。 例如,有定义:int a[10]; 则数组元素的下标上界为9。

(二)由于数组的下标下界为0,所以数组中下标和元素位置的对应关系是:第一个元素下标为0,第二个元素下标为1,第三个元素下标为2,依次类推,第n个元素下标为n-1。

(三)数值型数组要对多个数组元素赋值时,使用循环语句,使数组元素的下标依次变化,从而为每个数组元素赋值。

例如:int a[10],i;

for(i=0;i<10;i++) scanf(\不能通过如下的方法对数组中的全部元素赋值。

int a[10],i; scanf(\

六、思考题

(一)定义一个数组名为ftop且有5个int类型元素的一维数组,同时给每个元素赋初值为0,请写出数组的定义语句 。

(二)下面程序的功能是:为一维数组a中的元素赋值,并按照逆序输出。请在程序中的横线上填入正确的内容。

#include \

27

void main( )

{ int i,a[10]; /* 定义循环变量i和一维数组a */ for(i=0;i<=9;i++)

scanf(\ for( ;i>=0;i--)

printf(\ /* 按照逆序输出 */ printf(\}

(三)下面程序的功能是:输出一维数组a中的最小值及其下标。请在程序中的横线上填入正确的内容。

#include \void main( )

{ int i,p=0,a[10]; /* 定义a为数组名,p为下标名 */ for(i=0; i<10; i++) scanf(\ for(i=1; i<10; i++)

if (a[i]

printf(\ /* 输出一维数组a中的最小值及其下标 */

}

(四)下面程序的功能是:求一维数组中下标为偶数的元素之和并输出。请在程序中的横线上填入正确的内容。

#include \void main( )

{ int i,sum=0;

int a[ ]={2,3,4,5,6,7,8,9}; for(i=0; i<8; ) sum+=a[i];

printf(\ }

28

实验七 二维数组程序设计

一、实验学时

2学时

二、实验目的

(一)掌握二维数组的定义、赋值及输入输出的方法; (二)掌握与二维数组有关的算法如查找、矩阵转置等;

(三)掌握在程序设计中使用数组的方法。数组是非常重要的数据类型,循环中使用数组能更好地发挥循环的作用,有些问题不使用数组难以实现。

(四)掌握在VC++环境下上机调试二维数组程序的方法,并对结果进行分析。

三、预习要求

熟悉二维数组的定义、引用和相关算法(求最大值、最小值)的程序设计,同时要掌握在程序设计中利用双重循环来实现二维数组的输入和输出。

四、实验内容

(一)二维数组的初始化,即给二维数组的各个元素赋初值。下面的几个程序都能为数组元素赋值,请输入程序并运行,比较这些赋值方法有何异同。

1.在定义数组的同时对数组元素分行初始化。 /* c7-1.c 二维数组的初始化(分行)*/ #include \void main( )

{ int i,j,a[2][3]={{1,2,3},{4,5,6}}; for(i=0; i<2; i++) { for(j=0; j<3; j++) printf(\printf(\} }

2.不分行的初始化。把{ }中的数据依次赋值给数组的各个元素。 /* c7-2.c 二维数组的初始化(不分行)*/ #include \void main( )

{ int i,j,a[2][3]={1,2,3,4,5,6}; for(i=0;i<2;i++)

{ for(j=0;j<3;j++)

printf(\printf(\} }

3.为部分数组元素初始化。

29

搜索更多关于: C语言程序设计实验指导书 - V2.0 的文档
C语言程序设计实验指导书 - V2.0.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3knd83no4r10e619mkgp_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top