| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 425 人关注过本帖
标题:vc程序的解释
只看楼主 加入收藏
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
结帖率:81.82%
收藏
 问题点数:0 回复次数:5 
vc程序的解释
1.#include
main()
{
    int a,b;
    for(a=1,b=1;a<=10;a++)
    {
        if(b%3==1)
        {b+=3;
        continue;}
        b-=5;}
    printf("%d",a);
}
a的值是11,怎么得到啊
2.#include
int fun(int n,int *s)
{
    int f1,f2;
      if(n==0||n==1)
          *s=1;
      else
      {fun(n-1,&f1);
      fun(n-2,&f2);
      *s=f1+f2;}
      return *s;

}
void main()
{
    int x;
    fun(6,&x);
    printf("\n%d",x);}
结果x是13 ,怎摸得到的啊
大虾 ,,求指教


2012-03-14 20:05
zjkedy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:131
注 册:2010-5-14
收藏
得分:0 
第一个 由于b所得到的值 1、4、7、10....在循环内都满足求余,因此continue跳过自减5的过程,实质上a是累加的,一直到a=11 不满足for循环 此时打印的时候a就是11了
2012-03-14 21:03
zjkedy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:131
注 册:2010-5-14
收藏
得分:0 
第二个:通过递归算法 其实简单看 一个数组内数据,给的x就是其下标, 以规律性的增长,第三位数据由前两位数据求和所得。因此,1,1,2,3,5,8,13
if(i>1)
    a[i]=a[i-1]+a[i-2];
else
    a[i] = 1;
输入数值6 请注意 不是第六个数组,得考虑到输入为0的时候其实已经有值为1的数
2012-03-14 21:10
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:0 
第一个程序你只要看for循环就行.....当a自增到11时,不满足循环条件,它就不会再次执行循环体..从而a值为11.
2012-03-14 21:13
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
收藏
得分:0 
回复 3楼 zjkedy
有点意思了 可还是有点模糊 能再详细点吗 贴别是 2,3是怎么得到的 ,更详细一点行吗?比如;当n=0时f2=1;n-1继续循环 知道n=1;此时f1=1,及*s=2;然后呢?迷茫了 求详细。
2012-03-15 13:48
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
收藏
得分:0 
回复 3楼 zjkedy
我考虑了 一下 明白了 谢谢啊
2012-03-15 13:52
快速回复:vc程序的解释
数据加载中...
 
   



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

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