题目一
关于Debug和Release的区别说法错误的是:( )
作业内容
A.Debug被称为调试版本,程序调试找bug的版本
B.Release被称为发布版本,测试人员测试的就是Release版本
C.Debug版本包含调试信息,不做优化。
D.Release版本也可以调试,只是往往会优化,程序大小和运行速度上效果最优
c语言调试知识
这个题目的正确答案是D 我选择了C
其实这是因为我在调试知识中没有写出release版本没有调试功能 老师上课讲到过 已经补上
题目二
喝汽水问题
作业内容
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。
思路分析 我做这道题目的时候是一个一个找规律发现的
如果只买一瓶水 那就只能喝一瓶
如果买两瓶水 那就只能喝三瓶
如果买三瓶水 那就只能喝五瓶
…
我们可以发现买n瓶水 就能喝2n-1瓶水 (第一种解法)
买n瓶水 比买(n-1)瓶水多喝两瓶水 且如果只有一瓶水 那就只能喝一瓶(第二种解法)
第一种
if(money <= 0) { total = 0; } else { total = money*2-1; } printf("total = %d\n", total);
第二种
int count_(int x) { if (x==1) { return 1; } else { return 2 + count_(x - 1); } } int main() { int sum = count_(20); printf("%d\n", sum); }
当然 除此之外我们还有第三种解法
代码如下
int main() { int empty = 0; int sum = 0; int money = 0; scanf("%d", &money); empty = money; sum = money; while (empty>1) { sum += empty / 2; empty = empty / 2 + empty % 2; } printf("%d\n", sum); return 0; }
结果如上
题目三
描述
变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。
例如:
655 = 6 * 55 + 65 * 5
1461 = 1461 + 1461 + 146*1
求出 5位数中的所有 Lily Number。
输入描述:
无
输出描述:
一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。
#include<stdio.h> int main() { // 遍历用 int i =0; // 计算两位数用 int mod =10000; // 计算和用 int sum =0; int ret =0; for(i=10000;i<=99999;i++) { int sum =0; int mod =10000; while(mod) { ret =(i%mod)*(i/mod); sum+=ret; mod/=10; } if (i==sum) printf("%d ",i); } return 0; }
代码表示如下
这里主要需要注意的就是sum要及时重置
以上就是本篇博客的全部内容啦 由于博主才疏学浅 所以难免会出现纰漏 希望大佬们看到错误之后能够
不吝赐教 在评论区或者私信指正 博主一定及时修正
那么大家下期再见咯