C语言大作业报告范文.pdf
学院班级学号姓名XX 学院XXXXXXX摘要摘要我选择的是数学型综合作业:(A)求最大数;(B)高次方数的尾数。主要内容:(A)求 555555 的约数中最大的三位数;(B)求 13 的 13 次方的最后三位数。基本设计思路:(A)题目的设计思路是:因为要求的是三位数,就用 555555 从小到大依次除以 100到 999 的所有数,并判断能否整除,最后一个可以整除 555555 的数即为所求。(B)题目的设计思路是:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1 乘以 13,再除以 1000 并取余数,用余数乘以 13,再除以 1000 并取余数,依次进行下去,累乘13 个 13 后除以 1000 取得的余数即为所求。在(A)题目中,我限定了除数的范围,减少了计算次数,省去了比较约数大小的步骤,使程序更加简洁。在(B)题目中我没有拿 13 累乘 13 次,而是取每一次乘 13 所得乘积的最后三位数依次乘 13,大大减少了计算,简化了程序;取最后三位数我利用除以 1000 取余数的方法,方便、快捷。两个题目中均使用 FOR 循环,程序书写简练明了。我个人认为这两个题目我不编写得比较简洁,运算结果正确,很好地完成了题目要求。目录1 摘要.31.1 设计题目.31.2 设计内容.31.3 开发工具.31.4 应用平台.32 详细设计.42.1 程序结构.42.2 主要功能.错误错误!未定义书签。未定义书签。2.3 函数实现.62.4 开发日志.63 程序调试及运行.73.1 程序运行结果.73.2 程序使用说明.83.3 程序开发总结.84 附件(源程序)21 1 摘要摘要1.1 设计题目(A)求最大数;(B)高次方数的尾数1.2 设计内容(A)求 555555 的约数中最大的三位数;(B)求 13 的 13 次方的最后三位数1.3 开发工具Visual C+6.0和 Win32。1.4 应用平台Windows XP 32位32 2 详细设计详细设计2.1 程序结构(A)求最大数定义变量 a、b、c,a 从 100 至 999 递增,b 为 555555,用 b 除以 a,判断是否可以整除,若可以,则把 a 的值赋给 c,a 自加 1;若不可,a 自加 1。重复以上步骤,直到 a999,输出 c。循环语句采用 for循环。开始开始a=100a=100b=555555b=555555c=0c=0a=999?a13,输出 j。循环语句采用 for循环。开始开始i=1i=1j=1j=1i=13?i=13?j=j*13%1000j=j*13%1000i+i+输出输出 j j结束结束*52.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(%dn,c);/*输出 c*/(B)高次方数的尾数int i,j=1;/*定义变量,赋初值*/for(i=1;i=13;i+)/*FOR 循环*/j=j*13%1000;/*将 j 乘以 13 的乘积的后三位数赋给j*/printf(%dn,j);/*输出 j*/2.4 开发日志(A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR 循环并限定除数范围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。(B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用 FOR 循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是 1 还是 13 有待解决,分析程序后发现应该用 1,然后进一步调试,运行,直至结果正确。*63 3 程序调试及运行程序调试及运行3.1 程序运行结果(A)求最大数求得 555555 的约数中最大的三位数是777(B)高次方数的尾数求得 13 的 13 次方的最后三位数是 73.2 程序使用说明(A)打开源程序,编译,连接,然后运行即可得到求得555555 的约数中最大的三位数是777(B)打开源程序,编译,连接,然后运行即可得到13 的 13 次方的最后三位数是 2533.3 程序开发总结首先,程序开发需要耐心,从算法设计到源代码编写要一步步耐心完成。程序开发需要细心,特别是程序调试过程中,细心可以更迅速地发现错误,节省时间。最后,程序开发需要创新,创新的思路,创新的算法可以简化程序,也是程序编写更加快捷。4 4 附件(源程序)附件(源程序)(A)求最大数.C(工程名称:求最大数)#includeint main()int a,b=555555,c;for(a=100;a=999;a+)if(b%a=0)c=a;printf(%dn,c);return 0;(B)高次方数的尾数.C(工程名称:高次方数的尾数)#includeint main()int i,j=1;for(i=1;i=13;i+)j=j*13%1000;printf(%dn,j);return 0;*8