关于while循环
记得很久以前有个大臣跟国王下棋,说要在64格棋盘中每一格都放前一个两倍的大米,最后国库都不够般。请问用while语句怎么计算最后需要几颗大米?【C语言{:9_241:}】漠水 发表于 2014-8-26 16:17
#include
void main()
{
:titter:楼主真傻,我已经自己做出来啦!谢谢啦!有需要的朋友也可以参考下!
#include <stdio.h>
void main()
{
double start,finish,sum=0;
printf("input two numbers to start and finish.\n");
scanf("%lf %lf",&start,&finish);
while(start<=finish)
{
sum=sum+start;
start++;
printf("This is the %lfth count,\Now sum=%lf.\n",start,sum);
}
printf("Now has computed to %lf.\nCompute abort.\n\nsum=%lf\n",finish,sum);
} 本帖最后由 你好啊 于 2014-8-27 00:54 编辑
# include <stdio.h>
int main(void)
{
int i = 0, j = 0, k = 0;
int a = { 1 };
while (i < 63)
{
j = 99;
while (j >= 0)
{
a *= 2;
if (a >= 10)
{
a -= 10;
a += 1;
}
j--;
}
k = 99;
while (k >= 0)
{
if (a != 0)
{
printf("第%d个格子有:", i + 2);
while (k >= 0)
{
printf("%d", a);
k--;
}
printf("\n");
}
k--;
}
i++;
}
return 0;
}
http://kieran.qiniudn.com/005250.png
http://kieran.qiniudn.com/dami.png
【数组实现大整数相加】
虽然代码丑了点:big
不过能算出最后一格需要的大米数目~
#include<stdio.h>
void main()
{
float a,b,s;
a=1;
b=0;
s=0;
while(b<5) //更改b的数字,不过貌似到不了64次方,好像会溢出
{ b=b+1;
s=s+a;
a=2*a;
}
printf("大米的数量为%f\n",s);
}
用数组写:time: #include <stdio.h>
void main()
{
double start,finish,sum=0;
printf("input two numbers to start and finish.\n");
scanf("%lf %lf",&start,&finish);
while(start<=finish)
{
sum=sum+start;
start++;
printf("This is the %lfth count,\Now sum=%lf.\n",start,sum);
}
printf("Now has computed to %lf.\nCompute abort.\n\nsum=%lf\n",finish,sum);
} 本帖最后由 仰望天上的光 于 2014-8-26 20:22 编辑
我怎么看不懂题目?明明是体积,最后要求个数 Michael-Bern 发表于 2014-8-26 18:15
楼主真傻,我已经自己做出来啦!谢谢啦!有需要的朋友也可以参考下!
#include
void main()
后一格子里的数目是前一格的两倍
你这写的是从start加到finish
跟题目意思完全不一样 你好啊 发表于 2014-8-26 23:48
后一格子里的数目是前一格的两倍
你这写的是从start加到finish
跟题目意思完全不一样
哎呀发错了哈,不好意思!以下为代码
#include <stdio.h>
void main()
{
float x=1,now,sum=0;//now是现在格子中的大米数量 x是地几个格子 sum是总的大米数
while(x<=64)
{
now=sum+1;
sum=sum+now;
x++;
}
printf("%f\n",sum);
}//我后来做出来的程序竟然和最佳答案不一样,求解释! 2的倍数 {:7_141:}学习了 #include<stdio.h>
void main()
{
float a = 2, b = 1;
while (a <= 64)
{
b += b;
printf("第%d个格子中的数量为%f\n", (int)a, b);
a++;
}
} @你好啊 我看不懂你写的。。:cry我的好好学习。 Michael-Bern 发表于 2014-8-27 09:33
哎呀发错了哈,不好意思!以下为代码
你的逻辑豪富咋。。。我想不出来。。 路过看看 我不知道。_ 发表于 2014-8-29 17:35
@你好啊 我看不懂你写的。。我的好好学习。
收到,谢谢! 杀猪的杀手 发表于 2014-8-29 21:29
为啥写出来 就 那么 简单,想就那么的难滴······
终于体会到编程的辛苦了 Michael-Bern 发表于 2014-8-30 05:55
终于体会到编程的辛苦了
楼主我想说 我的代码 好像出错了 不是正确答案从57格往后 就错误了 我不知道。_ 发表于 2014-8-30 08:18
楼主我想说 我的代码 好像出错了 不是正确答案从57格往后 就错误了
擦,就说为啥别人跟我都不一样。。。。。。谢了。
页:
[1]
2