下载此文档

n的阶乘程序报告.docx


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
HUNAN
UNIVERSITY
程序设计训练报告
题目求n!
学生姓名
学生学号
专业班级
学院名称
指导老师
2013年7月11日
第一部分程序功能简介3
第二部分本人完成的开。分析可知,这是将之前存放在数组a中的数进行规律性输出,最终拟定采用for循环解决。又由于结果除以4的余数不同引起的输出规律有些许差异,最终决定分余数是否为0两种情况来输出最终结果。
4、意外处理
由于n的值是由操作者输入,需要考虑当输入值超出1~100
范围时的程序应对方式(告知操作者:输入数据错误)。
(二)模块的功能及程序说明
/******
文件包涵部分******
#include <>
#include <>
/******
定义变量部分******/
intn;/***定义核心变量n***/
inti,j,k=0;/***定义辅助变量***/
inta[200]={1},m;
/***定义并初始化数组a,其中m结果的位数除以4的余数***/
/******获取用户输入的数据******/
printf("pleaseinputanumber(1~100)n:\n");
scanf("%d",&n);
/******输入数据不合要求时的情况处理******/
if(n>100||n<1)
printf("Sorry!Youenterawrongnumber.\n");
中心
for(i=1;i<=n;i++)
{
for(j=0;j<200;j++)
{
a[j]*=i;
}
for(j=0;j<200;j++)
{
a[j+1]+=a[j]/10;a[j]%=10;
}
}
上面的这一模块为核心模块,是用乘法的基本原理把用户给的数据求
得阶乘后的结果的个、十、百、千…位依次赋数给数组a[200],即
a[0]=个位上的数,a[1]=十位上的数..…
for(i=199;i>=0;i--)
{
if(a[i]!=0)
{
j=i;break;
}
}/***求出n阶乘结果的位数减一(结果位数为j+1)***/m=(j+1)%4;/***算出结果的位数除以4的余数***/printf("thefactorialof%dis:\n",n);
/******
按要求输出结果******1
if(m!=0)
{
for(i=j;i>=0;i--)
{
printf("%d",a[i]);
k++;
if(k==m)break;
}/***输出余数不为零时第一个逗号前的数***/
for(i=j-m;i>=0;i--)
{
if((k-m)%4==0)printf(",");
printf("%d",a[i]);
k++;
}
printf("\n");
}/*****按要求输出余数不为零时剩下的数*****/
else
{
for(i=j;i>=0;i--)
{
printf("%d",a[i]);
k++;
if(k%4==0&&k!=j+1)printf(",");
}
printf("\n");
}/*****输出余数为零时n阶乘的结果*****/
(三)核心源程序模块
【将n阶乘后结果的个、十、百、千…位依次赋数给数组a[200]]
for(i=1;i<=n;i++)
{
for(j=0;j<200;j++)
{
a[j]*=i;
}
for(j=0;j<200;j++)
{
a[j+1]+=a[j]/10;a[j]%=10;
}
}
(四)核心算法流程图
(五)操作方法简介
点击“运行”后,根据提示(pleaseinputanumber(1~100)n:)输入一个1~100中任一数(这一数值将赋予n),然后按回车键,即可得到所要求n阶乘的结果。
(六)实验结果
当输入数为1~100之间时
输入8
输入100
当输入数不合要求时
(七)设计体会
第四部分附录
(一)程序中主要变量的功能说明
n核心变量,其值由用户输入(需在1~100之间)
a[200]用于存放n阶乘结果的个、十、百、千…位上的数
即a[0]=个位上的数,a[1]=十位上的数....
m结果的位数除以4以后的余数
i,j,k辅助变量,用于for循环等
(二)源程序代码
#include<>
#include<>
intmain()
{
intn;\n");.位依次赋数给数组a即a[0]=个位上的数,a[1]=十位
上的数..…
for(i=199;i>=0;i--)
{
if

n的阶乘程序报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
最近更新