c语言期末大作业报告,C语言大作业报告范文.doc

下载可编辑

.专业.整理.

学 院

XX学院

班 级

XX

学 号

XX

姓 名

XXX

摘要

我选择的是数学型综合作业:(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循环,程序书写简练明了。

我个人认为这两个题目我不编写得比较简洁,运算结果正确,很好地完成了题目要求。

目录

TOC \o "1-4" \h \z 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)求最大数

c=0a<=999?

c=0

a<=999?

输出c

a++

结束

c=a

b=555555

a=100

开始

b%a==0?

(B)高次方数的尾数

j=1i<=13?输出j

j=1

i<=13?

输出j

i++

结束

j=j*13%1000

i=1

开始

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的

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值