| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖
标题:分析下列程序的输出结果
只看楼主 加入收藏
realll
Rank: 1
等 级:新手上路
帖 子:55
专家分:4
注 册:2009-7-23
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:3 
分析下列程序的输出结果
#include<iostream.h>
#define M 1.5
#define A(a) M*a
void main()
{
int x(5),y(6);
cout<<A(x+y)<<endl;
}
13.5

为啥不是 1.5*(5+6)?
请说明一下过程
本人学的比较菜···

#include<iostream.h>
void main()
{
int i,j,a[8][8];
* * a=1;
for(i=1;i<8;i++)
{
* *(a+i)=1;
*(*(a+i)+i)=1;
for(j=1;j<i;j++)
    *(*(a+i)+j)= *(*(a+i-1)+j-1)+ *(*(a+i-1)+j);
}
for(i=0;i<8;i++)
{
for(j=0;j<=i;j++)
    cout<<""<<*(*(a+i)+j);
cout<<endl;
}
}

1   
1  1
1  2  1
1  3  3  1
1  4  6  4  1
1  5  10  10  5  1
1  6  15  20  15  6  1
1  7  21  35  35  21  7  1




[ 本帖最后由 realll 于 2010-5-17 22:41 编辑 ]
搜索更多相关主题的帖子: 结果 输出 
2010-05-17 21:12
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
收藏
得分:5 
程序代码:
#include<iostream.h>
#define M 1.5
#define A(a) M*a 
void main()
{
int x(5),y(6);
cout<<A((x+y))<<endl;   //规范写法。(x+y)替代a
}
规范格式
2010-05-18 18:08
ciweitou163
Rank: 7Rank: 7Rank: 7
来 自:河北 石家庄
等 级:黑侠
威 望:1
帖 子:144
专家分:528
注 册:2008-10-4
收藏
得分:6 
(1)楼上正解,A(a)相当于M*a
所以A(x+y)相当于M*x+y
**************************************
(2) *(*(a+i)+j)表示第i行 第j列;
程序代码:
#include<iostream>
using namespace std;

char CoutSpace(int i);

int main(void)
{
    int i,j,a[8][8];
    * * a=1;
    for(i=1;i<8;i++)
    {
        * *(a+i)=1;
        *(*(a+i)+i)=1;
        for(j=1;j<i;j++)
                *(*(a+i)+j)= *(*(a+i-1)+j-1)+ *(*(a+i-1)+j);
    }
    for(i=0;i<8;i++)
    {
        for(j=0;j<8-i;j++)
            cout<<" ";
        cout<<CoutSpace(i);
        for(j=0;j<=i;j++)
            cout<<" "<<*(*(a+i)+j);
        cout<<endl;
    }
    return 0;
}

**************************
输出:
         1
        1 1
       1 2 1
      1 3 3 1
     1 4 6 4 1
    1 5 10 10 5 1
   1 6 15 20 15 6 1
  1 7 21 35 35 21 7 1


  • 满眼生机转化钧;天工人巧日争新。
2010-05-18 18:57
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
收藏
得分:9 
程序代码:
#include<iostream.h>
void main()
{
int i,j,a[8][8];
* * a=1;    //第一行第一列为1
for(i=1;i<8;i++)   //控制行
{
* *(a+i)=1;     //每行第一个元素为1  
*(*(a+i)+i)=1;     //第n第n列的元素为1
for(j=1;j<i;j++)     //控制列
    *(*(a+i)+j)= *(*(a+i-1)+j-1)+ *(*(a+i-1)+j);   //坐标[i][j] = [i-1][j-1]+[i-1][j]
}       //设置元素值

for(i=0;i<8;i++)  //输出
{
for(j=0;j<=i;j++)
    cout<<""<<*(*(a+i)+j);
cout<<endl;
}
}
over
2010-05-18 18:58
快速回复:分析下列程序的输出结果
数据加载中...
 
   



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

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