
练习2-17 生成3的乘方表 (15 分)
发布日期:2021-05-17 16:54:07
浏览次数:10
分类:精选文章
本文共 1541 字,大约阅读时间需要 5 分钟。
生成3的乘方表
输入一个非负整数n,生成一张3的乘方表,输出3^0到3^n的值。可调用幂函数计算3的乘方。
输入格式:
输入在一行中给出一个非负整数n。
输出格式:
按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。
输入样例:
3
输出样例:
pow(3,0) = 1
pow(3,1) = 3pow(3,2) = 9pow(3,3) = 27使用步骤:
牧口:视频教程:《程序员的自我修炼》——学习C语言
硬件设备:兼容的编程计算机
将问题分解成几个部分,每个部分都有测试。问题分析:
- 读取用户输入n
- 从0到n循环计算3的各次幂
- 输出结果遵循指定格式
- 计算每个步骤的测试用例:
- 输入n=0,输出pow(3,0)=1
- 输入n=1,输出pow(3,0)=1 和 pow(3,1)=3
- 使用安全函数进行输入验证
- 应对n为负数的情况(但题目保证n非负)?
- 创新点:
- 需要注意的事项:
- 确保pow(3,i)结果正确,考虑整数范围问题。
- 调用库函数,避免不必要的计算。
- 创建数组存储结果
- 表现循环计算的次数,比如用size_t i=0;
- 多次调试测试程序,确保每个i对应的pow值正确。
确定必须用到的头文件:#include <stdio.h> 和 #include <math.h>
编写函数:
pow返回double,是否需要舍去小数部分?但题目中的结果都是整数,因此应为好。
为什么不对了?
- 编译源文件:
4.1 读取输入的函数测试用例:
4.2 异常处理:
一个简单的优化:存储结果并一次性输出或者按需输出更高效。
方案:
测试日志:
测试1:
n=0
程序循环一次i=0输出正确,无问题测试2:
n=1
程序循环两次,i=0和i=1结果正确测试3:
n=3
程序循环四次,结果与参考输出一致,正确测试4:
n=5
计算的各个幂是否正确?检查3^0=1,3^1=3,3^2=9,3^3=27,3^4=81,3^5=243结果正确,无误差。项代码:
步骤:
int main()
{int n, i;int power;scanf("%d", &n);for (i=0; i <= n; i++){power = pow(3, i);printf("pow(3,%d) = %d\n", i, power);}return 0;}注意:因为pow返回double类型,需转换为整数(如果需要整数结果)。
可能的问题:
可在代码中将power转换为long long类型:
long long power = pow(3, i);
或者使用确定性 CAST:double d = pow(3,i); long long l = d;
将上述代码保存为power_table.c,并使用编译器编译:
gcc -o power_table power_table.c
或者其他编译器Testing:
输入n=2,编译程序,然后检查输出。
应得到三行:pow(3,0)=1, pow(3,1)=3, pow(3,2)=9.优化思考:
是否可以预先计算所有幂值并存储在数组,然后处理输出?
比如:
int main()
{int n, i;int powers[n+1]; // 假设n为已知的最大值for (i=0;n+1;i++)powers[i] = pow(3, i);for (i=0; i <=n; i++)printf("pow(3,%d) = %d\n", i, powers[i]);}这样可以减少计算次数,但如果n很大,可能会占用更多内存。对于本问题,这种优化并不是必要的。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月14日 08时34分39秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
1Z204040、建设工程项目施工质量验收
2019-03-14
1Z204050、施工质量不合格的处理
2019-03-14
1Z308020、民事诉讼制度
2019-03-14
JSP中的九大内置对象
2019-03-14
linux下压缩和解压命令
2019-03-14
百度SEO站群給WordPress加音乐插件源码
2019-03-14
【字节网盘】九款超好看不同页面404源码
2019-03-14
Honey Tree(超好用的样板代码管理工具)
2019-03-14
Softaken Unlock PDF Files v1.0 PDF文件解密
2019-03-14
WordPress主题Ashade2.0摄影展示 图片展示主题
2019-03-14
两款404页面自动跳转源码html
2019-03-14
老黄历小程序源码前端实例(亲测可用)
2019-03-14
二改广告横幅在线制作源码 美化版
2019-03-14
炫彩文字404动画页面源码
2019-03-14
服饰贴图定制小程序V1.2.4安装更新一体包+小程序前端
2019-03-14
一款好看新颖的404页面源码
2019-03-14
萝卜影视 无错版分享
2019-03-14
纯CSS实现非常好看的图片轮播演示
2019-03-14
快乐是福二级域名分发网美化版源码
2019-03-14