实验1
Home | Web Board | ProblemSet | Standing | Status | Statistics |
Problem A: 编写函数:Swap (I) (Append Code)
Time Limit: 1 Sec Memory Limit: 16 MBSubmit: 5912 Solved: 3364
[Submit][Status][Web Board]
Description
编写用来交换两个数的函数,使得“Append Code”中的main()函数能正确运行。
-----------------------------------------------------------------------------
用C实现三个函数int_swap()、dbl_swap()、SWAP(),其中SWAP()是个带参宏。
用C++实现两个函数,都以swap()命名。
以上函数的调用格式见“Append Code”。这里不给出函数原型,它们的参数请通过main()函数自行确定。
Input
输入为4行,每行2个数。
Output
输出为4行,每行2个数。每行输出的两数为每行输入的逆序。
Sample Input
Sample Output
HINT
“Append Code”中用到的头文件、全局变量或宏的定义应自行补充。
Append Code
#include<iostream> #include<cstdio> using namespace std; void swap (int &a,int &b) { int temp; temp=a; a=b; b=temp; } void swap(int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } void swap (double &a,double &b) { double temp; temp=a; a=b; b=temp; } void swap(double *a,double *b) { double temp; temp=*a; *a=*b; *b=temp; } int main() { int x1, y1; cin>>x1>>y1; swap(&x1, &y1); cout<<x1<<" "<<y1<<endl; cin>>x1>>y1; swap(x1, y1); cout<<x1<<" "<<y1<<endl; double x2, y2; cin>>x2>>y2; swap(&x2, &y2); cout<<x2<<" "<<y2<<endl; cin>>x2>>y2; swap(x2, y2); cout<<x2<<" "<<y2<<endl; }
Home | Web Board | ProblemSet | Standing | Status | Statistics |
Problem B: 重载函数:max
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2551 Solved: 1613
[Submit][Status][Web Board]
Description
编写两个名为max的函数,它们是重载函数 ,用于求两个整数或实数的最大值。它们的原型分别是:
int max(int a,int b);
double max(double a,double b);
返回值是a和b的最大值。
Input
输入4个数,前两个数是int类型的整数,后2个数是double类型的实数。
Output
输出2个数,每个数占一行。第一个数对应于输入的两个整数的最大值,第二个数对应于输入的两个实数的最大值。
Sample Input
Sample Output
HINT
Append Code
#include<iostream> #include<cstdio> using namespace std; int max(int a,int b) { return a>b?a:b; } double max(double a,double b) { return a>b?a:b; } int main() { int a,b; double c,d; cin>>a>>b; cout<<max(a,b)<<endl; cin>>c>>d; cout<<max(c,d)<<endl; return 0; }
Home | Web Board | ProblemSet | Standing | Status | Statistics |
Problem C: 默认参数:求圆面积
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2467 Solved: 1556
[Submit][Status][Web Board]
Description
编写一个带默认值的函数,用于求圆面积。其原型为:
double area(double r=1.0);
当调用函数时指定参数r,则求半径为r的圆的面积;否则求半径为1的圆面积。
其中,PI取值3.14。
Input
一个实数,是圆的半径。
Output
输出有2行。第一行是以输入数值为半径的圆面积,第二行是半径为1的圆面积。
Sample Input
Sample Output
HINT
Append Code
#include<iostream> #define PI 3.14 using namespace std; double area(double r=1.0) { return PI*r*r; } int main() { double r; cin>>r; cout<<area(r)<<endl; cout<<area()<<endl; return 0; }
Home | Web Board | ProblemSet | Standing | Status | Statistics |
Problem D: 求(x-y+z)*2
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1787 Solved: 1120
[Submit][Status][Web Board]
Description
Input
Output
每组测试数据对应一个输出。输出x-y+z的值。
Sample Input
Sample Output
HINT
Append Code
#include<iostream> using namespace std; int f(int x,int y,int z) { return 2*(x-y+z); } int f(int x,int y) { return 2*(x-y); } int f(int x) { return 2*(x-1); } int main() { int n, x, y, z; while(cin>>n) { if(n == 3) { cin>>x>>y>>z; cout<<f(x, y, z)<<endl; } if(n == 2) { cin>>x>>y; cout<<f(x, y)<<endl; } if(n == 1) { cin>>x; cout<<f(x)<<endl; } if(n == 0) break; } }
Home | Web Board | ProblemSet | Standing | Status | Statistics |
Problem E: 编写函数:三个数的最大最小值 (Append Code)
Time Limit: 1 Sec Memory Limit: 2 MBSubmit: 4657 Solved: 2234
[Submit][Status][Web Board]
Description
给出三个数a,b,c,最大值是?最小值是?
-----------------------------------------------------------------------------
编写以下两个函数:
get_num()的功能是读取输入的三个整数a,b,c;
max_min()的功能是求出a,b,c的最大值和最小值。
以上函数的调用格式见“Append Code”。这里不给出函数原型,请通过main()函数自行确定。
Input
Output
Sample Input
Sample Output
HINT
Append Code
#include<iostream> using namespace std; void get_num(int &a,int &b,int &c) { cin>>a; cin>>b; cin>>c; } int max_min(int &m,int &n,int a,int b,int c) { m=max(a,max(b,c)); n=min(a,min(b,c)); } int main() { int cases; int mmax, mmin, a, b, c; cin>>cases; for(int i = 1; i <= cases; ++i) { get_num(a, b, c); max_min(mmax, mmin, a, b, c); cout<<"case "<<i<<" : "<<mmax<<", "<<mmin<<endl; } }