*实验1
1.题目描述
请设计一个程序,定义5个不同类型的变量,测试各变量的地址。
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; int main(){ long long c;bool b;int a1;double a2;float a3; cout<<&c<<" "<<&b<<" "<<&a1<<" "<<&a2<<" "<<&a3<<endl; getchar(); getchar(); return 0; }
2.题目描述
使用指针输入10个实数存入一维数组中,计算并输出它们的和与平均值。要求输入、计算和输出均使用指针。
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; int main(){ int a[10],ans=0,*p1; double ave=0,*p2; p1=&ans; p2=&ave; for(int i=0;i<10;i++){ cin>>*(a+i); ans+=*(a+i); } *p2=(double)(*p1)/10.0; cout<<*p1<<" "<<*p2<<endl; getchar(); getchar(); return 0; }
3.题目描述
设有a[5]={1,3,5,7,9},b[5]={1,2,3,4,5},求a和b的交集放到数组c中。所谓交集是求两个数组中相同的数据,如a和b的交集c[5]={1,3,5}。请设计一个程序利用指针完成。
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; int main(){ int a[5]={1,3,5,7,9},b[5]={1,2,3,4,5}; int c[10],cnt=0; int *p1=a,*p2=b; for(int i=0;i<5;i++){ p2=b; for(int j=0;j<5;j++){ if(*p1==*p2){ *(c+cnt)=*p1; cnt++; break; } else p2++; } p1++; } for(int i=0;i<cnt;i++) cout<<*(c+i)<<" "; getchar(); getchar(); return 0; }