c程序实验报告.docx
文本预览下载声明
《程序设计综合训练》
设 计 报 告
专 业: 软件工程
班 级: 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
显示全部