《上海工程技术大学C语言实验报告.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《上海工程技术大学C语言实验报告.doc》文档请在天天文库搜索。
1、 .. 实 验 报 告《高级语言程序设计》2012~2013学年第 一 学期学院(部)管理学院指导教师旭芳班级代号/学号同组人无实验一一:实验项目名称:程序流程控制分别求100以奇数、偶数之和。二:需求说明: 本实习题要求利用循环结构,分别算出100以的奇数和偶数之和。如果整数能被2整除,即为偶数;不能被2整除即为奇数,这样就可将偶数和奇数分开分别进行求和计算。三:存储结构:使用变量sun来存储,因为是100以的数,可将sum定义成整型变量(即int),因此输入和输出时的格式字符应使用“%d。为了将偶数和奇数分开分别进行求和计算,本题采用了if-else选择流程程序设计和循环模式。四:算法设计:1) 定义i,sum1和sum2,将sum1、sum2初始值都赋为0。2) 利用循环模式使i从0到100进行循环。3) 将奇数和偶数分开,能被2整除,即为偶数;不能被2整除即为奇数,再分别进行求和。
2、运算。4) 输出结果,结束。五:程序清单:#include void main(){int i,sum1=0,sum2=0;for(i=0;i<100;i++){if(i%2==0) sum2+=i;else sum1+=i;}printf("sum1=%d sum2=%d",sum1,sum2);}六:运行结果分析:实验二一:实验项目名称:数组的应用,有一个3×4的矩阵,求其中的最小元素的值及其行下标和列下标。二:需求说明: 本实习题要求在一个3*4的矩阵中,通过比较,找出其中的最小元素,并且要得到其行下标和列下标。例如矩阵 {1,2,3,4},{9,8,7,6},{-10,10,-5,2}则需要求得其最小元素为-10,其行下标和列下标分别为3和1。三:存储结构:使用变量i和j来存储数组,i和j分别控制外循环。因为数组中的数是整数,所以将i和j定义成整型变量(即int型),因此输入。
3、和输出时的格式字符应使用“%d”。四:算法设计:1) 定义i,j,row,colum和min四个变量,对row和colum都赋值为0。2) 给定一个3*4的矩阵,假定其中最小元素为a[0][0]。3)利用i和j分别控制外循环,通过a[0][0]与a[i][j]的比较,最终的到min=a[i][j]。并且可得到最小元素的行列下标为 row = i; colum = j;4)输出,结束。五:程序清单:#include void main() { int i,j,row = 0 ,colum = 0,min; int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; min = a[0][0]; for(i=0;i<=2;i++) for(j=0;j<=3;j++) if(a[i][j]
4、 = i; colum = j; } printf("min=%d,/nrow = %d,/ncolum = %d/n",min,row,colum); } 六:运行结果分析: 实验三一:实验项目名称:函数的调用,将起泡排序法编写成函数,实现10个任意整数按从小到大排序二:需求说明:本实习题要求输入10任意整数,通过函数的调用,利用起泡排序法将其按从小到大的顺序排列起来。三:存储结构:定义变量i,j,t,由于是整数,所以可将变量定义成整型变量(即int 型),因此输入和输出时的格式字符应使用“%ld”。四:算法设计:1)将变量i,j,t,a[10]定义为整形。2)循环控制一维数组的下标给a[10]中每个空位赋值。3)二重循环,外循环控制数组中的按从上到下的顺序比较,循环控制比较未被比较过的数组的数;将所有数比较并按照从下小到大的顺序排序。4)最后循环输出a[10]中所有值。5)输出结束。五。
5、:程序清单:#includevoid sort(int a[],int n){ int i,j,t;for(j=0;j
6、– n )!二:需求说明:本实习题要求输入两个整数,先求出其中一个数的阶乘,再求出另一个数阶乘与这两个数差值阶乘的乘积,最后求出其中一个数的阶乘和另一个数阶乘与这两个数差值阶乘的乘积的商。三:存储结构:用float(即浮点型)来定义变量,因此输入和输出时的格式字符应使用“%f”。四:算法设计:1)声明一个长整形函数f,在其中定义一个长整形的变量f记录返回值,采用递归调用求输入数的阶乘。直到输入的数为1时返回,若输入的数为0,则直接返回1。2)输入两个数,当有负值出现时,直接跳出主函数并输出error。3)当大数在后面时,利用中间变量c调换两数的位置。4)用ff存储所求阶乘的值,最后用p存储所求结果。5)输出结束。五:程序清单:#includefloat ff(float n){ float f; if(n<0) printf("error\n"); else if(n==0||n==1) f=1; else f=ff(n-1)*n; return(f);} float fun(float m,float n) { float p,c; if(m