| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2332 人关注过本帖
标题:大一编程题,大神教教我
只看楼主 加入收藏
Wxp971031
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2016-11-11
结帖率:70%
收藏
已结贴  问题点数:1 回复次数:11 
大一编程题,大神教教我
这是题目跟我写的程序 我运行出来的结果为什么是很长一段数字  那好像是答案存储的位置吧  求问为什么啊

//18.有一八层灯塔,每层的灯数都是上一层的2倍,
//共有765盏灯,编程求最上层与最下层的灯数。


#include<stdio.h>
int main()
{
int a,b,c,d,e,f,g,h;
b=2*a;
c=4*a;
d=8*a;
e=16*a;
f=32*a;
g=64*a;
h=128*a;
a+b+c+d+e+f+g+h==765;
printf("%d\n",a);
printf("%d\n",h);
return 0;
}
搜索更多相关主题的帖子: return 灯塔 
2016-11-19 18:47
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:1 
a未初始化

早知做人那么辛苦!  当初不应该下凡
2016-11-19 19:01
Wxp971031
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2016-11-11
收藏
得分:0 
回复 2楼 炎天
怎么样初始化a啊
2016-11-19 19:04
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:1 
int a;
for (a=1;a+b+c+d+e+f+g+h!=765;a++)
{
……(自己写)
}

[此贴子已经被作者于2016-11-19 20:14编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-19 19:52
LG隐
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:67
专家分:198
注 册:2016-4-20
收藏
得分:1 
初始化就是在一开始,给a赋一个值。当你使用它的时候它是有值得,否则,它就给你在内存中分配一个可以放一个整型的字符的一段空间(一般电脑是4字节)

如果不赋值,就像告诉你b=2*a;a是一个负数,你也不知道b的值啊,机器也不懂

[此贴子已经被作者于2016-11-19 20:19编辑过]

2016-11-19 20:13
jdljy1997
Rank: 1
等 级:新手上路
帖 子:17
专家分:3
注 册:2016-11-16
收藏
得分:1 
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,g,h;
b=2*a;
c=4*a;
d=8*a;
e=16*a;
f=32*a;
g=64*a;
h=128*a;
printf("%d\n",765/(1+2+4+8+16+32+64));
printf("%d\n",h);
return 0;
}
2016-11-19 21:09
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
a=765/(1+2+4+8+16+32+64+128);
h=128*a;
答案已经出来了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-19 21:58
晓益
Rank: 4
来 自:江苏扬州
等 级:业余侠客
威 望:2
帖 子:85
专家分:220
注 册:2016-7-9
收藏
得分:1 
#include <stdio.h>

void main()
{
    int s=765;  //总灯数
    int a=8;  //塔层数
    int x=0;
    int y=0;
    int i=0;
    int c=0;
    int sum=3;
    int b=0;

    for(x=2; x<=(a-1); x++)
    {
        c=2;
        for(y=1; y<=x-1; y++)
            c*=2;
        if(x==y)
            b=c;
        sum+=c;
    }
     i=s/sum;
    printf("最上层:%d\n最下层:%d\n", i, i*b);
}

千里之行,始于足下。
思考问题伤细胞,得分不容易。解决完问题请尽快结贴
2016-11-19 22:13
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 8楼 晓益
能否说明一下sum=3是怎么来的?

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-19 22:20
晓益
Rank: 4
来 自:江苏扬州
等 级:业余侠客
威 望:2
帖 子:85
专家分:220
注 册:2016-7-9
收藏
得分:0 
回复 9楼 九转星河
f(n)=1+2+4+.....2^n-1;   
sum=3   就是把前面两个数加了一下

千里之行,始于足下。
思考问题伤细胞,得分不容易。解决完问题请尽快结贴
2016-11-19 22:48
快速回复:大一编程题,大神教教我
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017729 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved