文档详情

c程序实验报告.docx

发布:2016-11-17约1.66万字共28页下载文档
文本预览下载声明
《程序设计综合训练》 设 计 报 告 专 业: 软件工程 班 级: 12软件1 学 号: 姓 名: 陈 雷 指导教师:    钱 进、吕 萍 成  绩: 计算机工程学院 2013年3月 目 录 第一部分 题目名称、内容、来源(如2010年省计算机等级考试秋季上机试卷2)。 解题的基本思路, 设计方案,功能模块框图与程序流程图等。 算法设计:算法描述、实现方法、详细流程图等。 源代码:主要模块的代码与注释。 程序调试:调试过程与步骤,发现的问题,解决的办法等。 测试:运行程序,输入测试数据,判断是否达到预期目的。测试数据要有典型意义,要注意临界值的选取,注意测试数据的广泛性和普适性。 第二部分 题目名称、内容。 解题的基本思路, 设计方案,功能模块框图与程序流程图等。 算法设计:算法描述、实现方法、详细流程图等。 程序调试:调试过程与步骤,发现的问题,解决的办法等。 测试:运行程序,输入测试数据,判断是否达到预期目的。测试数据要有典型意义,要注意临界值的选取,注意测试数据的广泛性和普适性。 总结:收获与体会,有实际内容,忌空洞无物,忌千篇一律,400字左右。 附录:源代码(含注释)。 第一部分 2010秋03等级考试 编写函数int noco(int n,int *a)。函数动能是验证是验证n的立方可表示为n个连续奇数之和,若找到这样的表示则将连续奇数按从小到大的顺序存放到a指向的数组中并且函数返回1,否则函数返回0。 编写函数main。函数功能是声明数组a,分别用整数1~10及数组a作为实参调用函数noco,并将结果数据按以下屏幕输出所示形式输出到屏幕及文件myf2.out中。 #includestdio.h int noco(int n,int *a) { int i=1,k=1,j=1,sum=0,m; m=n*n*n; while(summ) { i=k; sum=0;j=0; while(jn) {sum=sum+i; i=i+2;j++;} k=k+2; } k=k-2; for(j=0;jn;j++) {a[j]=k;k=k+2;} if(sum==m) return 1; else return 0; } void main() { FILE *fp; int i,n,k,a[10]; fp=fopen(myf2.out,w); for(n=1;n=10;n++) { k=noco(n,a); if(k) { printf(%d^3=,n); fprintf(fp,%d^3=,n); for(i=0;in-1;i++) {printf(%d +,a[i]); fprintf(fp,%d +,a[i]); } printf(%d\n,a[i]); fprintf(fp,%d\n,a[i]); } else { printf(false); fprintf(fp,false); } } fprintf(fp,my exam number is ; fclose(fp); } 2011春07等级考试 编写函数long find_m(int n)。函数功能是查找满足以下条件的整数m:(1)m是n的整数倍;(2)m的十进制表示中仅由0和1组成。函数返回找到的m的值。 编写main 函数。函数功能是声明变量n和m,输入一个整数到n中(n100),用n作实参调用函数find_m,将n及找到的整数m输出到屏幕及文件myf2.out. #includestdio.h long find_m(int n) { int flag1=1,flag2; long m1,m2,k; k=2; while(flag1) { flag2=1; m1=m2=n*k; while(m2flag2) { if(m2%10!=0m2%10!=1) flag2=0; else m2=m2/10; } if(m2==0) flag1=0; else k++; } return m1; } void main() { FILE *fp; int n; long m; fp=fopen(myf2.out,w); printf(please input a num:); scanf(%d,n); m=find_m(n); p
显示全部
相似文档