*实验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;
}
posted @ 2022-03-12 19:59  LittleOrange  阅读(85)  评论(0编辑  收藏  举报