2016年C语言实验报告

2020-04-16 09:52

通 知

各位老师:

本学期非计算机专业《计算机程序设计基础(C语言)》课实验报告要求: 1. 统一用《武汉科技大学实验报告》本写。(和上学期15级用过的一样) 2. 本学期交三次实验报告。

① 循环结构程序设计。 ② 数组。 ③ 函数。

要求学生在完成以下实验报告时,参考《C语言程序设计课程实验与题解》认真完成。

实验1 循环结构程序设计

一、实验目的

1. 熟悉用while语句,do-while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。 3. 熟悉break语句和continue语句用法的不同之处。 二、实验内容

【例】以下程序,输出下三角形状的乘法九九表。

#include void main() { int i,j;

for (i=1;i<=9;i++) /* 打印表头*/ printf(\printf(\ for (i=0;i<=50;i++) printf(\ printf(\

for (i=1;i<=9;i++) /* 循环体执行一次,打印一行*/ { for (j=1;j<=i;j++)

printf(\ /* 循环体执行一次,打印一个数据*/ printf(\ /* 每行尾换行*/ }

printf(\}

输入并执行该程序,观察输出结果,试着修改程序打印上三角形状的乘法九九表。

三、编程序并上机调试运行。

1.打印出所有“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和正好等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。

解题思路:根据题目要求只要分别求出一个三位数的个位、十位、百位上的数字,

然后判断是否满足(某一三位数a=a的百位的立方+a的十位的立方+a的个位的立方)这个公式,满足这个三位数就是“水仙花数”。

2. 李先生岁数的平方与他的夫人的岁数之和是1053,而他的夫人的岁数的平方与他的岁数之和是873,请编写程序计算李先生及其夫人的岁数各是多少。

四、实验小结(结合本次实验的经验谈谈想法,忌空洞无物,不少于100字)

实验2 数组

一、实验目的

1. 掌握一维数组、二维数组的定义、赋值和输入输出的方法; 2. 掌握字符数组的使用;

3. 掌握与数组有关的算法(例如排序算法)。 二、实验内容

【例】有一个 M×N 阶矩阵,求其中最大值和最小值,以及它们的行号和列号。

#include # define M 5 # define N 5 void main( )

{ int i, j, max, min, row1, row2, colum1, colum2, a[M][N]; for(i=0;i

for(j=0;j

scanf( “%d”,&a[i][j]); //输入矩阵 row1=row2=colum1=colum2=0; max=min=a[0][0]; for(i=0;imax)

{ max=a[i][j]; //将当前最大值赋给max row1=i; //记录最大值的行号 colum1=j; //记录最大值的列号 } if(a[i][j]

{ min=a[i][j]; /* 将当前最小值赋给min*/ row2=i; /*记录最小值的行号*/ colum2=j; /*记录最小值的列号*/ } }

printf(“max=%d,row1=%d,colum1=%d\\n”,max,row1,colum1); printf(“min=%d,row2=%d,colum2=%d\\n”,min,row2,colum2); }

输入并执行该程序,观察输出结果。

三、编程序并上机调试运行。

1.已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。

2. 打印出以下的杨辉三角形(要求打印出10行)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

四、实验小结(结合本次实验的经验谈谈想法,忌空洞无物,不少于100字)

实验3 函数

一、实验目的

1掌握定义函数的方法;

2掌握函数实参与形参的对应关系以及“值传递”的方式; 3掌握函数的嵌套调用和递归调用的方法;

4掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法; 二、实验内容

【例】:有5个人,第5个人说他比第4个人大2岁,第4个人说他对第3个人大2岁,第3个人说他对第2个人大2岁,第2个人说他比第1个人大2岁,第1个人说他10岁。求第5个人多少岁。

分析: 10 (n=1) age(n)=

age(n-1)+2 (n>1) 程序如下:

#include int age(int n) { int c;

if (n==1) c=10; else c=age(n-1)+2; return c; }

void main() {

printf(\}

结果:18

结合以上程序,思考一下age( )函数递归调用的过程。

三、编程序并上机调试运行。

(1)写一个判别素数的函数,在主函数输人一个整数,输出是否素数的信息。

本程序应当准备以下测试数据:17、34、2、l、0。分别输人数据,运行程序并检查结果是否正确。

(2)编写程序,计算下面公式并输出结果。

Cmn?n!

(n?m)!m!要求:(a)编写一个函数计算n!

(b)编写主函数,由键盘输入n和m,调用(a)中的函数完成计算。

(c)输入n和m要给出提示,并检查n和m的合理性,不合理的输入应输出错误信息,并不再进行计算。

(d)运行程序并计算

C、85C、72C1、8C7、7C08。

四、实验小结(结合本次实验的经验谈谈想法,忌空洞无物,不少于100字)

}

#include #include int fun(int number) {

int n=number,i,result=1; for(i=2;i<=number;++i) {

result *= i; }

return result; }

int main() {

int m,n,cmn;

printf(\

if( 0==scanf(\ {

printf(\

exit(EXIT_FAILURE); }

printf(\

if(0==scanf(\ {

printf(\ exit(EXIT_FAILURE); }

cmn=fun(n)/( fun(n-m)*fun(m) ); printf(\ return EXIT_SUCCESS; } main( ) { int a, b, c ,n ;

for(n=100 ; n<1000 ;n++) { a=n/100 ; b=n/10-a*10 ; c=n ;

if(a*100+b*10+c==a*a*a+b*b*b+c*c*c) printf(“]” , n) ; } }


2016年C语言实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司(企业)全员行为公约

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: