首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮忙解析3个考试题,多谢

2013-01-19 
帮忙解析3个考试题,谢谢!本帖最后由 imiles 于 2013-01-05 22:24:53 编辑第一个:#include iostreamusing

帮忙解析3个考试题,谢谢!
本帖最后由 imiles 于 2013-01-05 22:24:53 编辑 第一个:
#include <iostream>
using namespace std;
float fun(float x, float *y, float *z)
{*y=x+2;
*z=*z+*y;
return *z; }
int main()
{float a=1.1,b=3.3;
int c;
 c=fun(a+b,&a,&b);
 cout<<”a=”<<a<<”; b=”<<b<<”; c=”<<c<<endl;
}



第二个:
#include <iostream>
using namespace std;
int main()
{int x[5]={1,2,3,4,5},i=0;
 int *p=x;
 for (i=0;i<5;i++)
 *(p+i)= *(p+i)+2;
for (i=0;i<5;i++)
 cout<<*(p+i);
}

输出结果为:


第三个:
若二维数组y有m列,则位于y[i][j]之前的元素个数有(    )个
(A)j*m+i         (B)i*m+j         (C)i*m+j-1         (D)i*m+j+1

[解决办法]
1.输出:a=6.4;b=9.7;c=9

#include <iostream>
using namespace std;
float fun(float x, float *y, float *z)//x是4.4
{*y=x+2;//即a=x+2是6.4
*z=*z+*y;//即b=b+a是9.7
return *z; }
int main()
{float a=1.1,b=3.3;
int c;
c=fun(a+b,&a,&b);//返回9.7,转换为int是9
cout<<"a="<<a<<";b="<<b<<";c="<<c<<endl;
}

[解决办法]
2.输出34567
#include <iostream>
using namespace std;
int main()
{int x[5]={1,2,3,4,5},i=0;
 int *p=x;//p是指向数组首地址的指针
 for (i=0;i<5;i++)
 *(p+i)= *(p+i)+2;//相当于x[i]=x[i]+2
for (i=0;i<5;i++)
 cout<<*(p+i);//相当于cout<<x[i]
}

[解决办法]
3.B i*m+j
y[0][0]到y[i][0]的上一个是i*m个
y[i][0]到y[i][j-1]是j个

热点排行