第15周oj平台实践项目(3)(4)

Problem C: 指针当形参

Description

下面的程序将调用函数进行变量的交换,请设计出交换的函数
#include <iostream>
using namespace std;
void jiaohuan(int *p1, int *p2);
int main( )
{
    int a,b;
    cin>>a>>b;
    jiaohuan(&a,&b);
    cout<<a<<" "<<b<<endl;
    return 0;
}
//下面定义jiaohuan;

Input

两个整数

Output

输入数据交换顺序后的结果

Sample Input

100 10

Sample Output

10 100
代码:
#include <iostream>
using namespace std;
void jiaohuan(int *p1, int *p2);
int main( )
{
    int a,b;
    cin>>a>>b;
    jiaohuan(&a,&b);
    cout<<a<<" "<<b<<endl;
    return 0;
}
void jiaohuan(int *p1,int *p2)
{
    int temp;
    temp=*p1;
    *p1=*p2;
    *p2=temp;
}

运行结果:
第15周oj平台实践项目(3)(4)_第1张图片

Problem D: 两数和与差(用参数带回结果)


Description

下面的程序,输入两个整数,调用函数ast后,输出了两数之和及两数之差。阅读程序,补全程序中空白处。
#include <iostream>
using namespace std;
void ast(int x,int y,int *cp,int *dp)
{
    //补全函数的定义
    ___(1)____=x+y;
    ___(2)____=x-y;
}
int main()
{
    int a,b,c,d;
    cin>>a>>b;
    //下面调用函数ast
    ______(3)______
    cout<<c<<" "<<d<<endl;
    return 0;
}

Input

两个整数

Output

两数的和与差

Sample Input

1 5

Sample Output

6 -4
代码:
#include <iostream>
using namespace std;
void ast(int x,int y,int *cp,int *dp)
{
    int f,g;
    f=x+y;
    g=x-y;
    *cp=f;
    *dp=g;
}
int main()
{
    int a,b,c,d;
    cin>>a>>b;
    int *cp,*dp;
    cp=&c;
    dp=&d;
    c=a;
    d=b;
    ast(a,b,cp,dp);
    cout<<c<<" "<<d<<endl;
    return 0;
}

第15周oj平台实践项目(3)(4)_第2张图片

你可能感兴趣的:(编程,C++,namespace,计算机,指针)