标题:求助一个初级的问题啊 谢谢了
只看楼主
jbddd
Rank: 2
等 级:论坛游民
帖 子:45
专家分:24
注 册:2009-7-26
结帖率:87.5%
已结贴  问题点数:3 回复次数:14 
求助一个初级的问题啊 谢谢了
已知一个数列的前3个数为0,0,1,以后每个数为前3个数的和,编程序求此数列的第36个数

菜鸟一个 程序如下部分

#include<stdio.h>
#include<malloc.h>
void main()
{
    float *p=(float *)malloc(50 * sizeof(float));
    *p=0;
    *(p+1)=0;
    *(p+2)=1;
    int n;
    for (n=0;n<=32;n++)
    {   
        *(p+3)=(*p)+(*(p+1))+(*(P+2));
    if(n==32)
    {
        printf("%f",*(p+3));
    }
    else
        p++;
        printf("循环%d",n);
    }
   
}

可是出现了如下的错误
D:\Program Files\Microsoft Visual Studio\MyProjects\12345\12345.cpp(12) : error C2100: illegal indirection
不知道是什么原因呢 请赐教






[ 本帖最后由 jbddd 于 2010-1-24 00:51 编辑 ]
搜索更多相关主题的帖子: 初级 
2010-01-23 23:43
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
得分:2 
#include <stdio.h>


int main(void)
{
    long a1 = 0 , a2 = 0  ,a3 = 1 ,a4 = 0;
    int  i = 4 ;
    while (i < 36) {
            a4 = a1 + a2 + a3 ;
            a1 = a2 ;
            a2 = a3 ;
            a3 = a4 ;
            i++ ;
    }
    printf("%ld\n" , a4) ;
 return 0 ;
}

[ 本帖最后由 iFreeBSD 于 2010-1-24 00:29 编辑 ]
收到的鲜花
  • jbddd2010-01-24 00:58 送鲜花  3朵  

without further ado, let’s get started
2010-01-24 00:06
jbddd
Rank: 2
等 级:论坛游民
帖 子:45
专家分:24
注 册:2009-7-26
得分:0 
请教一下楼上 我的算出来是第36个数:334745777 第35个数和你一个结果 不知道为什么??? 我源程序写错了吗??多循环了一次?????
2010-01-24 00:35
jbddd
Rank: 2
等 级:论坛游民
帖 子:45
专家分:24
注 册:2009-7-26
得分:0 
我还是没搞懂的就是 为什么不是i < =32??而是i<32


[ 本帖最后由 jbddd 于 2010-1-24 00:57 编辑 ]
2010-01-24 00:50
jbddd
Rank: 2
等 级:论坛游民
帖 子:45
专家分:24
注 册:2009-7-26
得分:0 
以下是引用iFreeBSD在2010-1-24 00:06:13的发言:

#include <stdio.h>
 
 
int main(void)
{
    long a1 = 0 , a2 = 0  ,a3 = 1 ,a4 = 0;
    int  i = 4 ;
    while (i < 36) {
            a4 = a1 + a2 + a3 ;
            a1 = a2 ;
            a2 =  ...
很谢谢你的代码  但是我想知道循环的问题到底出在哪???
2010-01-24 00:54
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
得分:1 
你是对的,是我算错了,把计数从0开始算起了,养成习惯了不好意思。

without further ado, let’s get started
2010-01-24 00:58
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
得分:0 
算出来第300个数是几啊?
2010-01-24 01:17
jbddd
Rank: 2
等 级:论坛游民
帖 子:45
专家分:24
注 册:2009-7-26
得分:0 
以下是引用Devil_W在2010-1-24 01:17:24的发言:

算出来第300个数是几啊?
肯定是溢出了 太大了 我也不知道了 300ths

[ 本帖最后由 jbddd 于 2010-1-24 08:55 编辑 ]
2010-01-24 08:54
jbddd
Rank: 2
等 级:论坛游民
帖 子:45
专家分:24
注 册:2009-7-26
得分:0 
以下是引用iFreeBSD在2010-1-24 00:58:49的发言:

你是对的,是我算错了,把计数从0开始算起了,养成习惯了不好意思。
嘿 还是你的代码简洁明了啊 我太菜 因为开始的时候用int整型开数组的时候溢出了 后来上网一搜是不能够用float开数组 所以就开了空间了 你的代码和思维方式明了简洁啊 学习了
2010-01-24 08:58
a86819318
Rank: 2
等 级:论坛游民
帖 子:63
专家分:10
注 册:2009-10-8
得分:0 
用递归写最简单了
2010-01-24 09:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296381-1-1.html




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

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