鱼C论坛

 找回密码
 立即注册
查看: 4342|回复: 22

关于while循环

[复制链接]
发表于 2014-8-26 15:13:03 | 显示全部楼层 |阅读模式
9鱼币
记得很久以前有个大臣跟国王下棋,说要在64格棋盘中每一格都放前一个两倍的大米,最后国库都不够般。请问用while语句怎么计算最后需要几颗大米?【C语言

最佳答案

查看完整内容

【数组实现大整数相加】 虽然代码丑了点:big 不过能算出最后一格需要的大米数目~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 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);
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-26 15:13:04 | 显示全部楼层
本帖最后由 你好啊 于 2014-8-27 00:54 编辑
  1. # include <stdio.h>

  2. int main(void)
  3. {
  4.         int i = 0, j = 0, k = 0;
  5.         int a[100] = { 1 };
  6.         while (i < 63)
  7.         {
  8.                 j = 99;
  9.                 while (j >= 0)
  10.                 {
  11.                         a[j] *= 2;
  12.                         if (a[j] >= 10)
  13.                         {
  14.                                 a[j] -= 10;
  15.                                 a[j + 1] += 1;
  16.                         }
  17.                         j--;
  18.                 }
  19.                 k = 99;
  20.                 while (k >= 0)
  21.                 {
  22.                         if (a[k] != 0)
  23.                         {
  24.                                 printf("第%d个格子有:", i + 2);
  25.                                 while (k >= 0)
  26.                                 {
  27.                                         printf("%d", a[k]);
  28.                                         k--;
  29.                                 }
  30.                                 printf("\n");
  31.                         }
  32.                         k--;
  33.                 }
  34.                 i++;
  35.         }
  36.         return 0;
  37. }
复制代码


                               
登录/注册后可看大图


                               
登录/注册后可看大图


【数组实现大整数相加】
虽然代码丑了点:big
不过能算出最后一格需要的大米数目~



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 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);
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-26 16:55:01 | 显示全部楼层
用数组写:time:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 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);
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-26 20:20:52 | 显示全部楼层
本帖最后由 仰望天上的光 于 2014-8-26 20:22 编辑


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-26 20:32:10 | 显示全部楼层
我怎么看不懂题目?明明是体积,最后要求个数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

后一格子里的数目是前一格的两倍
你这写的是从start加到finish
跟题目意思完全不一样
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-27 09:33:54 | 显示全部楼层
你好啊 发表于 2014-8-26 23:48
后一格子里的数目是前一格的两倍
你这写的是从start加到finish
跟题目意思完全不一样

哎呀发错了哈,不好意思!以下为代码
  1. #include <stdio.h>
  2. void main()
  3. {
  4.         float x=1,now,sum=0;//now是现在格子中的大米数量 x是地几个格子 sum是总的大米数
  5.         while(x<=64)
  6.         {
  7.                 now=sum+1;
  8.                 sum=sum+now;
  9.                 x++;
  10.         }
  11.         printf("%f\n",sum);
  12. }//我后来做出来的程序竟然和最佳答案不一样,求解释!
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-27 09:45:50 | 显示全部楼层
2的倍数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-27 21:01:33 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 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++;
        }
}
QQ截图20140829173559.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-29 17:35:58 | 显示全部楼层
@你好啊 我看不懂你写的。。:cry  我的好好学习。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-29 17:49:34 | 显示全部楼层
Michael-Bern 发表于 2014-8-27 09:33
哎呀发错了哈,不好意思!以下为代码

你的逻辑豪富咋。。。我想不出来。。  
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-29 17:55:11 | 显示全部楼层
路过看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-29 20:00:36 | 显示全部楼层
我不知道。_ 发表于 2014-8-29 17:35
@你好啊 我看不懂你写的。。  我的好好学习。

收到,谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-30 05:55:49 | 显示全部楼层
杀猪的杀手 发表于 2014-8-29 21:29
为啥写出来 就 那么 简单,想就那么的难滴······

终于体会到编程的辛苦了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-30 08:18:21 | 显示全部楼层
Michael-Bern 发表于 2014-8-30 05:55
终于体会到编程的辛苦了

楼主  我想说 我的代码 好像出错了 不是正确答案  从57格往后 就错误了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

擦,就说为啥别人跟我都不一样。。。。。。谢了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-13 20:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表