C语言大作业报告范文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学院XX学院
目录
1 摘要 (3)
1.1设计题目 (3)
1.2设计容 (3)
1.3开发工具 (3)
1.4应用平台 (3)
2 详细设计 (3)
2.1程序结构 (3)
2.2主要功能 (3)
2.3函数实现 (3)
2.4开发日志 (4)
3 程序调试及运行 (4)
3.1程序运行结果 (4)
3.2程序使用说明 (4)
3.3程序开发总结 (4)
4 附件(源程序) (4)
1 摘要
1.1 设计题目
(A)求最大数;(B)高次方数的尾数
1.2 设计容
(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具
Visual C++ 6.0和Win32。
1.4 应用平台
Windows XP 32位
2 详细设计
2.1 程序结构
(A)求最大数
定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。重复以上步骤,直到a>999,输出c。循环语句采用for 循环。
(B)高次方数的尾数
定义变量i、j,i从1至13递增,j初值为1。用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。重复以上步骤,直到i>13,输出j。循环语句采用for循环。
2.2 主要功能
程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。
原理和方法:
(A)题目的原理和方法:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。循环语句采用for循环。
(B)题目的原理和方法:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。循环语句采用for循环。
2.3 函数实现
(A)求最大数
int a,b=555555,c; /*定义变量,赋初值*/
for(a=100;a<=999;a++) /*FOR循环*/
{
if(b%a==0) /*利用IF语句判断b是否可以被a整除*/
c=a; /*将555555的约数赋给c*/
}
printf("%d\n",c); /*输出c*/
(B)高次方数的尾数
int i,j=1; /*定义变量,赋初值*/
for(i=1;i<=13;i++) /*FOR循环*/
{
j=j*13%1000; /*将j乘以13的乘积的后三位数赋给j*/
}
printf("%d\n",j); /*输出j*/
2.4 开发日志
(A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR循环并限定除数围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。
(B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用FOR循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是1还是13有待解决,分析程序后发现应该用1,然后进一步调试,运行,直至结果正确。
3 程序调试及运行
3.1 程序运行结果
(A)求最大数
求得555555的约数中最大的三位数是777 (B)高次方数的尾数
求得13的13次方的最后三位数是253
3.2 程序使用说明
(A)打开源程序,编译,连接,然后运行即可得到求得555555的约数中最大的三位数是777
(B)打开源程序,编译,连接,然后运行即可得到13的13次方的最后三位数是253
3.3 程序开发总结
首先,程序开发需要耐心,从算法设计到源代码编写要一步步耐心完成。程序开发需要细心,特别是程序调试过程中,细心可以更迅速地发现错误,节省时间。最后,程序开发需要创新,创新的思路,创新的算法可以简化程序,也是程序编写更加快捷。
4 附件(源程序)
(A)求最大数.C(工程名称:求最大数)
#include
int main()
{
int a,b=555555,c;
for(a=100;a<=999;a++)
{
if(b%a==0)
c=a;
}
printf("%d\n",c);
return 0;
}
(B)高次方数的尾数.C(工程名称:高次方数的尾数)
#include
int main()
{
int i,j=1;
for(i=1;i<=13;i++)
{
j=j*13%1000;
}
printf("%d\n",j);
return 0;
}