news 2026/6/9 19:01:03

把90!输出到屏幕上(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
把90!输出到屏幕上(二)

输出90!到屏幕上,并计算出要表示它需要多少个整型数及最高整型数的值。

#include <stdio.h> #include <stdlib.h> #define N 90 //求N! #define ZX 10000000 //最小的8位数 #define DASHU struct shu DASHU { size_t gs; // 数组中当前元素的个数 int *kt; // 指向用于存放数据的连续内存空间中开始的那个“int”数据 }; void tuichu ( void ) ; void cheng ( DASHU * , int ); void jinwei ( DASHU * ) ; void shuchu ( DASHU ) ; int main(void) { DASHU dashu; int i; dashu.kt=(int*)malloc(sizeof(int)); // 申请第一个int if(dashu.kt==NULL) tuichu(); dashu.gs=(size_t)1; *dashu.kt=1; // 初始值为1 for(i=1;i<=N;i++) cheng(&dashu, i); shuchu(dashu); free(dashu.kt); // 不再使用一定要释放 getchar(); return 0; } void tuichu ( void ) { printf("抱歉,空间不够"); getchar(); exit(1); // 程序退出执行 } //乘以n void cheng ( DASHU * ds, int n ) { int i; for ( i = 0 ; i < ds -> gs ; i ++) { ds->kt[i]*=n; } jinwei(ds); } //进位 void jinwei(DASHU *ds) { int i; for(i=0; i < ds->gs-1; i++) { ds->kt[i+1]+=ds->kt[i]/ZX; ds->kt[i]%=ZX; } //增加空间 if(ds->kt[ds->gs-1]>=ZX) // 最高"int"数的值超过ZX { ds->kt=realloc(ds->kt,sizeof(int)*(ds->gs+1)); if(ds->kt==NULL) tuichu(); ds->kt[ds->gs]=ds->kt[ds->gs-1]/ZX; ds->kt[ds->gs-1]%=ZX; ds->gs++; } } // 输出 void shuchu ( DASHU ds ) { int i = ds.gs - 1 ; // 从高位开始输出 printf("%d %d\n",(int)ds.gs, ds.kt[i]); // 输出存放阶乘的整型数的个数及最高的7位十进制数 /* 输出完整的阶乘 */ printf("%d",ds.kt[i--]); while ( i>=0 ) printf("%07d",ds.kt[i--]); //需要输出7位且0是必要的 putchar('\n'); }

输出结果

20 148571
1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:19:36

2026年,不管是前端还是后端,最终都是“站长”

以前我们叫“全栈工程师”&#xff0c;听起来像个干苦力的。现在&#xff0c;请叫我“站长”&#xff08;Webmaster&#xff09;。历史的螺旋 还记得 2000 年吗&#xff1f; 那时候没有“前端”和“后端”的区别。你写 HTML&#xff0c;你写 PHP&#xff0c;你配 Apache&#x…

作者头像 李华
网站建设 2026/5/29 3:48:12

大数据毕设项目推荐-基于python+django的大数据短视频分析推荐系统的设计与实现基于django+大数据平台的短视频推荐系统设计与实现【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/10 9:22:00

【时时三省】(C语言基础)结构体的内存对齐

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 例题1&#xff1a; 这个结构体一共占多少个字节呢&#xff1f; 如果按每个类型的大小&#xff0c;然后加在一起来算的话&#xff0c;就是14个字节 但是14个字节是不对的 结构体的字节不是…

作者头像 李华
网站建设 2026/6/10 9:26:47

Git分支命令

切换到新分支 git checkout new_branch 基于当前所在的分支创建新分支 git branch new_branch 基于当前所在的分支创建新分支&&切换到新分支 git checkout -b new_branch 基于远程分支创建本地新分支&&切换到新分支 git checkout -b branchA origin/br…

作者头像 李华
网站建设 2026/6/10 9:25:40

7.1 Kubernetes集群运维实战:节点管理、证书更新、版本升级完整指南

7.1 Kubernetes集群运维实战:节点管理、证书更新、版本升级完整指南 引言 集群运维是Kubernetes生产环境的重要工作。通过节点管理、证书更新、版本升级等操作,可以保持集群的稳定运行。本文将详细介绍集群运维的完整流程。 一、节点管理 1.1 节点维护 # 标记节点不可调…

作者头像 李华