2018蓝桥杯c语言c组
小明被不明势力劫持。后莫名其妙被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。
并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。
请计算一下,小明在第几天就能凑够108元,返回地球。
#include<stdio.h>
int main()
{
int m=1,d=1;
while(m)
{
m+=2;
d++;
if(m=108)
break;
}
printf("%d",d);
return 0;
}
请问为什么运行结果是2?哪里错了
本帖最后由 jackz007 于 2021-11-13 10:18 编辑
if(m=108) // 判断相等必须用 == jackz007 发表于 2021-11-13 10:16
if(m=108) // 判断相等必须用 ==
改了运行还是没结果啊 #include<stdio.h>
int main()
{
int i=1;
while(1){
if(i*i>=108){
printf("%d\n",i);
break;
}
i++;
}
return 0;
} 宫宸 发表于 2021-11-13 10:24
改了运行还是没结果啊
此句
if(m=108)
改为
if(m>=108) 本帖最后由 jhq999 于 2021-11-13 11:28 编辑
以后的每一天都比前一天多2元钱
1 3 5 7 9 11 13……
和真是n^2 #include<stdio.h>
int main()
{
int m=1,d=1,total=1;
while(m)
{
m+=2;
total=total+m;
d++;
if(total>=108)
break;
}
printf("%d",d);
return 0;
} 宫宸 发表于 2021-11-13 11:29
#include
int main()
{
最初这个total应该赋值为0 不要用==,因为你不知道结果是108还是>108,用>=解决 何小贱 发表于 2021-11-13 12:08
最初这个total应该赋值为0
如果赋0第一天不就是0元了吗 宫宸 发表于 2021-11-13 16:44
如果赋0第一天不就是0元了吗
#include <stdio.h>
int main()
{
int money = 1, day = 1;
while(money < 108){
money += 2;
day++;
}
printf("%d days", day);
return 0;
}55 days jackz007 发表于 2021-11-13 11:03
此句
改为
可以了,谢谢
页:
[1]