| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1713 人关注过本帖
标题:各位大佬为啥这个得不到我要的结果
只看楼主 加入收藏
HuiProgramer
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2017-10-11
收藏
 问题点数:0 回复次数:8 
各位大佬为啥这个得不到我要的结果
能运行就是得不到结果
想了半天就是没想出来
/*有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。
请编程实现在第n年的时候,共有多少头母牛?*/
#include"stdio.h"

int main(void)
{
     int n=0,i=0,j=3;
    int mother_cow[55]={0},mother_cow2[55]={0};
    do
    {
        printf("please input cow of mother:");
        scanf("%d",&n);
        if(n>0&&n<55)
        break;
    }while(n != 0);
    for(i=0; i<n;  i++)
    {
        mother_cow[i] += i;

        j+=i;

        while(j<n)//这是每年小母牛生的小牛,我想利用这个循坏来实现每四年小母牛长大以后所生的小牛
        {
        mother_cow2[j] += j;

        printf("mother_cow[%d]=%d",j,mother_cow2);//这里输出是几万了,不知道怎么回事
//这个循坏只循环了一次,不是我想要的结果
        j++;
        }
        mother_cow[i] += mother_cow2[j];//期待在这里实现小牛的总数

        printf("mother_cow[%d]=%-2d",i,mother_cow[i]);

        if(i==4 || i==9 || i==14 || i==19 || i==24 || i==29 || i==34 || i==39 || i==44 || i==49)
        printf("\n");
    }
    return 0;
}
编译通过,没得到我想要的结果
我想要计算n年以后小牛的数量
再次感谢各位!

[此贴子已经被作者于2017-10-30 13:05编辑过]

搜索更多相关主题的帖子: 得不到 结果 int printf || 
2017-10-30 10:33
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54066
注 册:2011-1-18
收藏
得分:0 
“为啥这个嵌套失败了” ------ 听不懂在说什么,连说话都不会

首先,“这个嵌套”是什么?
其次,“失败”是什么?编译不通过就贴出编译器给出的错误信息;运行不符合你的预期,就应该贴出 你想实现什么功能、输入什么、期待输出什么、实际输出什么。
2017-10-30 11:48
HuiProgramer
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2017-10-11
收藏
得分:0 
回复 2楼 rjsp
大佬我错了,麻烦帮我看下
谢谢大佬
2017-10-30 12:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54066
注 册:2011-1-18
收藏
得分:0 
没得到我想要的结果
我想要计算n年以后小牛的数量
不要说这么“正确”但却“屁用都没有”的废话
要明确地说“输入5,期待输出……,实际输出……;输入10,期待输出……,实际输出……”
你想想吧,别人调试你的程序时,遇到输入时,该输入什么,是输入一个字符串呢,还是输入一个浮点数,还是输入一个 -1,……?
假设输入成功了,它输出一个fuck,别人怎么知道输出fuck是属于正常行为,还是错误行为?

另外,你这道题,假如没有 样例输入、样例输出 的话,是没法写代码的。鬼才知道拿到母牛后是不是就算“年初”,“第四个年头开始”中拿到手后就算1年,还是满一年才算1年?
我在网上搜了下
Sample Input
2
4
5
0

Sample Output
2
4
6

然后才可以写出代码
程序代码:
#include <stdio.h>

int main( void )
{
    unsigned years0 = 0;
    unsigned years1 = 1;
    unsigned years2 = 0;

    for( unsigned n=1; n!=55; ++n )
    {
        unsigned tmp = years2;
        years2 += years1;
        years1 = years0;
        years0 = tmp;

        printf( "f(%u) = %u\n", n, years0+years1+years2 );       

    }

    return 0;
}




2017-10-30 17:06
梦想远航lyz
Rank: 2
等 级:论坛游民
威 望:1
帖 子:39
专家分:76
注 册:2017-10-23
收藏
得分:0 
#include <stdio.h>

int main()
{
    int n;//n为第几年
    int i = 1;//i为多少头牛
    int j;
    int k = 0;
    scanf("%d",&n);//输入第几年
    j = n/3;//以3年为周期来判断
    for(k;k <= j;k++)
        i *= 2;
    printf("the num of cow is :%d\n",i);
    //printf("\n");
   
    return 0;
}
这个暂时是错的,我把题看错了。改好后发出来

[此贴子已经被作者于2017-10-30 18:10编辑过]

2017-10-30 18:06
梦想远航lyz
Rank: 2
等 级:论坛游民
威 望:1
帖 子:39
专家分:76
注 册:2017-10-23
收藏
得分:0 
回复 3楼 HuiProgramer
上万的数值,有可能是你的参数一开始没设置一个固定的值,这个数一开始就是一个很大的随机数,算出来就很大
2017-10-30 18:15
HuiProgramer
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2017-10-11
收藏
得分:0 
回复 4楼 rjsp
大爱版主,简单明了。是我没懂那个题目的意思
以后我一定认真审题,问问题把问题讲清楚。
感谢版主百忙之中抽出宝贵的时间来解答我的问题
能顺便讲解下你的原理吗?(不是很懂,我用笔写了你的每一次运行结果。还是不很懂)
能给我讲解下吗?谢谢版主

[此贴子已经被作者于2017-10-30 18:39编辑过]

2017-10-30 18:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54066
注 册:2011-1-18
收藏
得分:0 
第一年,1岁牛0头,2岁年0头,3岁及以上的牛1头
第二年,1岁牛变为2岁牛,2岁牛变为3岁牛,3岁及以上的牛还在,且3岁及以上的牛生出同等数量的1岁牛

也就是第n年有:1岁牛a头,2岁年b头,3岁及以上的牛c
那么第n+1年有:1岁牛c头,2岁年a头,3岁及以上的牛b+c
2017-10-31 08:27
HuiProgramer
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2017-10-11
收藏
得分:0 
回复 8楼 rjsp
谢谢版主
2017-10-31 09:13
快速回复:各位大佬为啥这个得不到我要的结果
数据加载中...
 
   



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

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