c语言编写一个函数用静态变量求累加和,C语言程序设计I实验指导书.doc

C语言程序设计I实验指导书

课程实验指导书

第二部分 实验内容

实验一:数组定义、初始化和引用运算

一、实验目的

1、掌握一维数组的定义和引用

2、掌握一维数组的初始化方法

3、了解与一维数组有关的应用编程方法

二、实验意义

在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力,同时可接触到更多的经典算法,这些算法很多都是通过数组类型存储数据并实现的,有了这些基础后,学生可以在今后的编程中应用这些知识。数组的实验能让学生进一步的提高程序设计编程和调试的能力,对于数组元素引用及循环控制的特点,也可以在实验中得以加深理解和巩固知识。

三、实验重点

1 一维数组的定义、元素的引用。

2 一维数组编程的循环控制特色。

3 排序等相关算法的实现。

四、实验难点

一维数组编程的循环控制特色,程序调试时的数组越界问题

排序算法的理解和记忆

五、实验方式

提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容

1. 运行下面的程序。根据运行结果,可以说明什么?

main( )

{

int i,x[5]={1,2,3,4,5};

for (i=0;i<=5;i++)

printf("%4d",x[i]);

}

2、编程:输入一个长度为10的一维数组,然后将其向右循环移动一位后输出。

如:输入的一维数组啊[10]为:0 1 2 3 4 5 6 7 8 9 10

则向右循环移动一位后,数组a[10]变为:10 0 1 2 3 4 5 6 7 8 9

3、从键盘输入10个整数,找出最大的数并输出该数及其下标。

4、用scanf函数给二维数组a[3][4]输入12个数据,并求出每一行的正数之和,每一行的最小值以及下标值。

5、编一程序,将两个字符串连接起来,不要用strcat函数。找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。至少准备两组测试数据:

(1)二维数组有鞍点

9 80 205 40

90 -60 96 1

210 -3 101 89

(2)二维数组没有鞍点

9 80 205 40

90 -60 96 1

210 -3 101 89

45 54 156 7

用scanf函数从键盘输入数组的各元素的值,检查结果是否正确,题目未

指定二维数组的行数和列数,程序应能处理任意行数和列数的数组。

程序提示:

输入矩阵

flag2=0;//矩阵中无鞍点

for(i=0;i

{

max=a[i][0];maxj=0;

用for循环语句找第i行的最大值存放在max中,其下标j保存到maxj中

for(k=0,flag1=1;k

if(max>a[k][maxj]) flag1=0;//max不是该列的最小元素

if(flag1)

{

printf("\n第%d行第%d列的%d是鞍点\n",i+1,maxj+1,max);

flag2=1;

}

}//endfori

if(!flag2) printf("\n矩阵中无鞍点\n");

4、 输入一行字符,统计其中的单词个数,已知单词之间用空格分隔开。

5、从键盘输入一个字符串,分别输出其完全大写和完全小写的形式。

6、输入6个字符串,输出最大的字符串。

七、实验总结和实验报告的撰写

实验三:函数的申明、定义和简单函数的应用

一、实验目的

1、掌握模块化编程方法中自定义函数和主调函数的模块关系。

2、函数的申明格式和申明的位置

3函数的定义格式

4函数的调用

二、实验意义

采用模块化程序设计的方法,是解决复杂问题的基础。将一个复杂的较大的问题,分解为一个个独立的简单模块。模块在C语言中是用函数来实现的,因此掌握mul实现1到n累乘;

在主函数main里调用sum和mul函数求1到30累加和1到15累乘,最后

把累加和累乘结果输出。

4、编写一个函数prime实现:判断任何一个数是否为素数;并在main函数里调用prime函数判断一个数是否为素数。

5、编写函数,判断指定的字符是否是数字字符,如果是返回1,不是则返回0。在主函数中输入该字符,调用函数判断该字符并输出是否是数字字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值