课程主页在:http://blog.csdn.net/sxhelijian/article/details/11890759
【项目2-指来指去】设计一个程序,利用指针完成下面的工作
(1)下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序
#include <iostream>
using namespace std;
int main( )
{
int *p1,*p2,a,b,t;
cin>>a>>b;
p1=&a;
p2=&b;
//下面加入代码,只许用p1,p2和t,不许用a和b,t作为交换时的中间变量
cout<<"max="<<a<<" min="<<b<<endl;
return 0;
}
(2)下面的程序将调用函数进行变量的交换,请设计出交换的函数
#include <iostream>
using namespace std;
int main( )
{
int a,b;
cin>>a>>b;
jiaohuan(&a,&b);
cout<<"交换后:a="<<a<<" b="<<b<<endl;
return 0;
}
//下面定义jiaohuan函数;
参考解答在:
http://blog.csdn.net/sxhelijian/article/details/8295669(2012级16周项目4)
【项目3-填空学指针】采用指针访问方式从键盘给数组a[N]输入数据,然后对元素值重新按逆序存放并输出。请补充完整下面的程序。
#include <iostream>
using namespace std;
const int N=8;
int main()
{
int a[N],*p,*q;
for(p=a; p<a+N; p++)
___(1)___;
p=a;
q=a+N-1;
while(p<q)
{
int r=*p;
*p=*q;
*q=r;
___(2)___;
___(3)___;
}
for(p=a; p<a+N; p++)
cout<<*p<<' ';
cout<<endl;
}
参考解答在:
http://blog.csdn.net/sxhelijian/article/details/8295697(2012级16周项目5)
【项目4-有相同数字?】编写程序,要判断两个有序数组中是否存在相同的数字
参考代码:
#include<iostream>
using namespace std;
int main()
{
int a[]={1,4,7,8};
int b[]={2,5,6,9,10};
int n1=sizeof(a)/sizeof(a[0]);
int n2=sizeof(b)/sizeof(b[0]);
bool flag=existthesame(a,n1,b,n2);
if(flag==true)
cout<<"两个有序数组中存在相同的数字!\n";
else
cout<<"两个有序数组中不存在相同的数字!\n";
return 0;
}
bool existthesame(int *a,int n1, int *b,int n2)
{
}
参考解答在:
http://blog.csdn.net/sxhelijian/article/details/8362346(2012级17周项目3)
【项目5-奇数因子】编写函数 int fun(int x, int *pp)。其功能是,求出x的所有奇数因子,并按照从小到大的顺序放在pp指向的内存中,函数返回值为这些整数的个数。若x的值为30,数组中的数为1,3,5,15,函数返回4。
下面是该程序main()函数的部分代码作为参考。
int main()
{
int a[50],x,n;
____________;
n=fun(x,a);
cout<<x<<”的奇因子共有”<<n<<”个,分别是:”
for(int i=0;i<n;i++)
_________________;
cout<<endl;
______________;
return 0;
}
//下面定义fun函数
参考解答在: http://blog.csdn.net/sxhelijian/article/details/8362355(2012级17周项目4)
==================== 迂者 贺利坚 CSDN博客专栏=================
|== IT学子成长指导专栏 专栏文章分类目录(不定期更新) ==|
|== C++ 课堂在线专栏 贺利坚课程教学链接(分课程年级) ==|
========为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =======