鱼C论坛

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

关于while循环

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

最佳答案

查看完整内容

【数组实现大整数相加】 虽然代码丑了点:big 不过能算出最后一格需要的大米数目~
想知道小甲鱼最近在做啥?请访问 -> 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);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[100] = { 1 };
        while (i < 63)
        {
                j = 99;
                while (j >= 0)
                {
                        a[j] *= 2;
                        if (a[j] >= 10)
                        {
                                a[j] -= 10;
                                a[j + 1] += 1;
                        }
                        j--;
                }
                k = 99;
                while (k >= 0)
                {
                        if (a[k] != 0)
                        {
                                printf("第%d个格子有:", i + 2);
                                while (k >= 0)
                                {
                                        printf("%d", a[k]);
                                        k--;
                                }
                                printf("\n");
                        }
                        k--;
                }
                i++;
        }
        return 0;
}

                               
登录/注册后可看大图


                               
登录/注册后可看大图


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



想知道小甲鱼最近在做啥?请访问 -> 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);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-26 16:55:01 | 显示全部楼层
用数组写:time:
想知道小甲鱼最近在做啥?请访问 -> 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);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-26 20:32:10 | 显示全部楼层
我怎么看不懂题目?明明是体积,最后要求个数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

后一格子里的数目是前一格的两倍
你这写的是从start加到finish
跟题目意思完全不一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 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);
}//我后来做出来的程序竟然和最佳答案不一样,求解释! 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-27 09:45:50 | 显示全部楼层
2的倍数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-27 21:01:33 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-29 17:35:58 | 显示全部楼层
@你好啊 我看不懂你写的。。:cry  我的好好学习。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

你的逻辑豪富咋。。。我想不出来。。  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-29 17:55:11 | 显示全部楼层
路过看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

收到,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

终于体会到编程的辛苦了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

楼主  我想说 我的代码 好像出错了 不是正确答案  从57格往后 就错误了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

擦,就说为啥别人跟我都不一样。。。。。。谢了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 22:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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