题目一
关于Debug和Release的区别说法错误的是:( )
作业内容
A.Debug被称为调试版本,程序调试找bug的版本
B.Release被称为发布版本,测试人员测试的就是Release版本
C.Debug版本包含调试信息,不做优化。
D.Release版本也可以调试,只是往往会优化,程序大小和运行速度上效果最优
这个题目的正确答案是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要及时重置
以上就是本篇博客的全部内容啦 由于博主才疏学浅 所以难免会出现纰漏 希望大佬们看到错误之后能够
不吝赐教 在评论区或者私信指正 博主一定及时修正
那么大家下期再见咯