程序设计基础(一)实验 下载本文

内容发布更新时间 : 2024/6/4 0:57:46星期一 下面是文章的全部内容请认真阅读。

.

plus(int x,int y) { int z; z=x+y;

return (z); }

4、求500以内的所有亲密数对。若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。 5、输入并运行以下程序,分析运行结果。 #include int d=1; fun(int p)

{ static int d=5; d+=p;

printf(“%d ”,d); return (d); }

void main( ) { int a=3;

printf(“%d ”,fun(a+fun(d))); }

6、设计一个函数,输出整数n的所有素数因子。 四、实验步骤与过程:

五、实验调试记录:

实验七 数组程序设计(4学时)

一、实验方式:一人一机

二、实验目的:

1、掌握数组的定义、赋值和输入输出的方法。 2、学习用数组实现相关的算法(特别是排序算法)。 3、掌握C语言中字符数组和字符串处理函数的使用。 三、实验内容:

说明:前四题为必做题目,后两题为选做题目。

1、下列程序的功能是:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。 #include

.

.

void main( )

{ int i,n,a[10],avg; for(i=0;i

scanf(“%d”,a[i]); for(i=0;i

{ if(i%3==0) printf(“\\n”); printf(“%d ”,a[i]);

}

for(i=0;i

printf(“\\navg=%f\\n”,avg);

}

2、写一个函数,对输入的10个整数按从小到大的顺序排序(升序,用冒泡排序实现)。 3、编写程序,判断某一字符串是不是“回文数”,回文数是从左至右或从右至左读起来都是一样的字符串。

4、输入一个3行3列矩阵的所有元素,然后求出主对角线元素之和。 5、给定某年某月某日,将其转换成这一年的第几天并输出。

6、编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found。

四、实验步骤与过程:

五、实验调试记录:

实验八 指针程序设计(2学时)

一、实验方式:一人一机 二、实验目的:

1、通过实验进一步掌握指针的概念,会定义和使用指针变量。

2、能正确使用指向数组和字符串的指针变量。 3、熟悉指针作为函数参数的编程特点。 三、实验内容:

说明:前两题为必做题目,后两题为选做题目。要求用指针方法实现。 1、指针基础及指针运算。

2、输入3个整数,按从小到大的次序输出。

3、数据交换。实验要求:1)定义两个函数,分别为void swap1(int a,int b)和void swap2(int *a,int *b),用于交换a,b的值。2)从主函数中分别输入两个整型变量a、

.

.

b。3)从主函数中分别调用上述两个交换函数,并打印输出交换后a、b的结果。

4、编写一个程序计算字符串长度的函数,模拟C的函数库内的计算字符串长度的函数strlen( )。

四、实验步骤与过程:

五、实验调试记录:

实验九 综合实验2:函数、数组、指针的综合应用(2学时)

一、实验方式:一人一机 二、实验目的:

1、进一步掌握通过指针引用数组元素的方法。

2、综合运用函数、数组、指针的知识,实现复杂程序的编程。 3、掌握调试复杂程序的技巧。 三、实验内容:

说明:前两题为必做题目,后两题为选做题目。要求用指针方法实现。

1、数组元素奇偶排列。实验要求:1)定义一个整型一维数组,任意输入数组的元素,其中包含奇数和偶数。2)定义一个函数,实现将数组元素奇数排列在左,偶数排列在右的排列。3)在上述定义的函数中,不允许再增加新的数组。4)从主函数中分别调用上述函数,打印输出结果。

2、编写函数lower( )模拟标准函数strlwr( ),调用形式为lower(char *st),其作用是将字符串st中的大写字母转换成小写。 3、编写函数,比较两个字符串是否相等。

4、编写函数reverse( )模拟标准函数strrev( ),调用形式为reverse(char *st),其作用是颠倒字符串st的顺序,即按与原来相反的顺序排列。

四、实验步骤与过程:

五、实验调试记录:

实验十 综合实验3:结构体、文件程序设计(6学时)

一、实验方式:一人一机 二、实验目的:

1、掌握结构体类型变量的定义和使用。

.

.

2、掌握结构体类型数组的概念和使用。

3、学会使用文件打开、关闭、读、写等文件操作的函数。 三、实验内容:

说明:前三题为必做题目,后一题为选做题目。

1、在选举中进行投票,包含候选人姓名、得票数,假设有多位候选人,用结构体数组统计各候选人的得票数。

2、编写一个学生信息排序程序。要求:

1) 程序运行时可输入n个学生的信息和成绩(n预先定义)。

2) 学生信息包括:学号、姓名;学生成绩包括:高等数学、物理、计算机。

3) 给出一个排序选择列表,能够按照上述所列信息(学号、姓名、高等数学、物理、计算机)中的至少一个字段进行排序,并显示其结果。 4) 使用函数方法定义各个模块。

3、将磁盘上一个文本文件的内容复制到另一个文件中。

4、从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,输出到一个磁盘文件“test.dat”中保存,然后读出并输出在屏幕上。

四、实验步骤与过程:

五、实验调试记录:

单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善 教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。

.