Michael-Bern 发表于 2014-8-26 15:13:03

关于while循环

记得很久以前有个大臣跟国王下棋,说要在64格棋盘中每一格都放前一个两倍的大米,最后国库都不够般。请问用while语句怎么计算最后需要几颗大米?【C语言{:9_241:}】

Michael-Bern 发表于 2014-8-26 18:15:33

漠水 发表于 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-26 15:13:04

本帖最后由 你好啊 于 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
不过能算出最后一格需要的大米数目~


漠水 发表于 2014-8-26 16:17:33

#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);
}

你好啊 发表于 2014-8-26 16:55:01

用数组写:time:

Michael-Bern 发表于 2014-8-26 18:16:53

#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:20:52

本帖最后由 仰望天上的光 于 2014-8-26 20:22 编辑


♂情︵☆缘★ 发表于 2014-8-26 20:32:10

我怎么看不懂题目?明明是体积,最后要求个数

你好啊 发表于 2014-8-26 23:48:17

Michael-Bern 发表于 2014-8-26 18:15
楼主真傻,我已经自己做出来啦!谢谢啦!有需要的朋友也可以参考下!
#include
void main()


后一格子里的数目是前一格的两倍
你这写的是从start加到finish
跟题目意思完全不一样

Michael-Bern 发表于 2014-8-27 09:33:54

你好啊 发表于 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);
}//我后来做出来的程序竟然和最佳答案不一样,求解释!

Lysanleo 发表于 2014-8-27 09:45:50

2的倍数

gyixue 发表于 2014-8-27 21:01:33

{:7_141:}学习了

我不知道。_ 发表于 2014-8-29 17:35:07

#include<stdio.h>
void main()
{
        float a = 2, b = 1;
        while (a <= 64)
        {
                b += b;
                printf("第%d个格子中的数量为%f\n", (int)a, b);
                a++;
        }
}

我不知道。_ 发表于 2014-8-29 17:35:58

@你好啊 我看不懂你写的。。:cry我的好好学习。

我不知道。_ 发表于 2014-8-29 17:49:34

Michael-Bern 发表于 2014-8-27 09:33
哎呀发错了哈,不好意思!以下为代码

你的逻辑豪富咋。。。我想不出来。。

破灬王 发表于 2014-8-29 17:55:11

路过看看

Michael-Bern 发表于 2014-8-29 20:00:36

我不知道。_ 发表于 2014-8-29 17:35
@你好啊 我看不懂你写的。。我的好好学习。

收到,谢谢!

Michael-Bern 发表于 2014-8-30 05:55:49

杀猪的杀手 发表于 2014-8-29 21:29
为啥写出来 就 那么 简单,想就那么的难滴······

终于体会到编程的辛苦了

我不知道。_ 发表于 2014-8-30 08:18:21

Michael-Bern 发表于 2014-8-30 05:55
终于体会到编程的辛苦了

楼主我想说 我的代码 好像出错了 不是正确答案从57格往后 就错误了

Michael-Bern 发表于 2014-8-30 12:09:38

我不知道。_ 发表于 2014-8-30 08:18
楼主我想说 我的代码 好像出错了 不是正确答案从57格往后 就错误了

擦,就说为啥别人跟我都不一样。。。。。。谢了。
页: [1] 2
查看完整版本: 关于while循环