摘要。我选择的是数学型综合作业:(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 摘要 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;afor循环*/
printf("%d",c输出c*/
(b)高次方数的尾数。
int i,j=1定义变量,赋初值*/
for(i=1;i<=13;ifor循环*/
printf("%d",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++)
printf("%d",c);
return 0;
b)高次方数的尾数。c(工程名称:高次方数的尾数)
#include<>
int main()
int i,j=1;
for(i=1;i<=13;i++)
printf("%d",j);
return 0;
C语言大作业报告
猜数字游戏。信安三班。孙麒 2009302530088 戈丽萍 2009302530066 分工。戈丽萍 a b win函数,流程图。孙麒 main guess函数 程序调试。一 游戏说明。1 系统随机产生一组不重复的4位数字。2 游戏者输入所猜的不重复数字,并按回车提交。3 系统将提交的数与它自动...
C大作业报告
c 大作业报告。姓名 常皓。学号 03101261 班级 031013 销售公司员工管理。设计一个虚基类staff 员工 包含编号 姓名和年龄保护数据成员以及相关的成员函数 由staff派生出销售员类salesman,包含销售额保护数据成员以及相关的成员函数 c 大作业报告。姓名 常皓。学号 031...
C语言作业报告
题目 1 第一个上台的小组。班级 计机113 组号 第一组 成员 林少烈黎冠杰卢灿关旗少罗启恩陈庆裕陈伟鸿。第一部分 一 分析题目1 求13的13次方的最后三位数。1.构造案例1 通过讨论,我们总结错误用另一种方法求出13的13次方的后三位,就是只求每次乘积的后三位,对13的13次方中每次乘积都进行...