| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2232 人关注过本帖
标题:求c语言大神,纠纠错。我是大一的小白
只看楼主 加入收藏
我没有理想
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2018-10-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
求c语言大神,纠纠错。我是大一的小白
#include<stdio.h>
int main()
{
    int a,b,c,number=63;
   
for(a=1;a<=21;a++)

    {
        
for(b=1;b<=21;b++)
   
    {
            for(c=1;c<=21;c++)
            {
                if(a*5==b*6||a*5==c*7||b*6==c*7)
                number=number-1;
               
            }
        }
    }
    printf("观众可以听到%d次礼炮声!",number);
   
    return 0;
 }
搜索更多相关主题的帖子: c语言 纠错 int number for 
2018-10-31 21:01
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:7 
程序没有错误,你要说明你想实现什么?

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-10-31 21:06
我没有理想
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2018-10-31
收藏
得分:0 
回复 2楼 Tomorrw_I
a,b,c三艘军舰各鸣炮21响,a馊5秒放一次,b 6秒,c 7秒,求观众可以听到几声炮声。


我的结果运行是负数,一定是错的,但是不知道哪里错了,求解答。
2018-10-31 21:11
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:0 
if(a*5==b*6||a*5==c*7||b*6==c*7)

你这题,是求公倍数。。

6*21以下,这3个数,任意两个数,公倍数的个数!    这个数减去5-6-7三个数的公倍数


学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-10-31 21:46
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:7 
实际上简单点啊,我不知道说的对不对,我想你的程序呈现的问题应该是:有三架礼炮,第一架每隔五秒响一次,第二架礼炮,每隔六秒响一次,第三架礼炮每隔七秒响一次,然后求观众一共能听到多少响炮声。如果是这样的话,其实问题就简单了,这样的话一共最长时间是21*7=147秒,在从1~147这些秒中,如果哪一秒“既是五的倍数又是六的倍数”或者“既是五的倍数又是七的倍数”或者“既是六的倍数又是七的倍数”,或者“同时是五、六、七三个共同的倍数”,如果是前三种情况的任意一种,那么炮声在总数63的基础上就会减少1,(减少1是因为原来按道理在这一秒中是三声,但是有两声同时响了,比方说30秒这一,第一架礼炮和第二架礼炮同时响,因为30不是7的倍数,所以第三架的礼炮声是独立,也就是说在30秒这一刻只听见了两声,后面的你应该都可以理解了)如果是第四种情况的话,那么礼炮声就应该减少2。(实际上最后一种情况是不存在的,因为五、六、七最小公倍数是210,而最长时间才147秒,所以最后一种情况可以忽略,但是要考虑到)。你根据这个思路在考虑考虑。你不妨再拓展思维,根据上面的解释,如果炮声的响数足够多,我想第四种情况你也是可以理解的。写的字数比较多,只希望你能看懂希望对你有所帮助。
2018-10-31 21:50
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:0 
我帖子刚写完,你好像就懂了,我开始写的时候你还没告诉我题目,不过没关系,能懂就行
2018-10-31 21:52
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:396
专家分:2640
注 册:2018-3-30
收藏
得分:7 
可以用个数组,下标代表秒数,全部初始化为零,三种间隔遍历,遍历到的下标设为1,最后遍历统计1的个数就好了

saber,别哭.
2018-10-31 22:00
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:0 
回复 3楼 我没有理想
你可以试一下你的循环,当a=1的时,会经过b=7,c=6,这个时候number减去1,d当a=2的时,还会经过b=6,c=7,number又会减去1,且不说别的吧,你这样算出来的结果至少要使得number-21,显然是错误的
2018-10-31 22:02
我没有理想
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2018-10-31
收藏
得分:0 
回复 6楼 C基础
谢谢大哥,非常感谢,我懂题目的意思了,就是不知道我的代码为什么算不出结果,如果没有第四种情况,我的代码应该不存在少减的问题,但是结果确实负数,这是多减了啊。有点懵
2018-10-31 22:11
我没有理想
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2018-10-31
收藏
得分:0 
回复 9楼 我没有理想
我明白了,刚刚还没看到楼上的帖子
2018-10-31 22:13
快速回复:求c语言大神,纠纠错。我是大一的小白
数据加载中...
 
   



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

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