【描述】
输入10个整数,存放在一维数组中,找出值最大和最小的元素,输出最大值、最小值及它们所在的元素下标。
【输入】
在一行中输入10个整数,整数以空格间隔。
【输出】
第一行输出最大值及其所在的元素下标,最大值和下标以空格间隔。
第二行输出最小值及其所在的元素下标,最小值和下标以空格间隔。
【输入示例】
1 3 57 9 6 0 8 2 4
【输出示例】
9 4
0 6
【来源】
《程序设计基础——以C++为例》第4章实验1。
#include<iostream>
using namespace std;
int main()
{
int a[10];
//max为整形下限, min为整形上限
int max=INT_MIN,min=INT_MAX,maxIndex,minIndex;
for(int i=0;i<10;i++)
{
cin>>a[i];//读入
}
for(int i=0;i<10;i++)
{
if(a[i]>max)
{
max=a[i];//比较记录
maxIndex=i;
}
if(a[i]<min)
{
min=a[i];
minIndex=i;
}
}
cout<<max<<" "<<maxIndex<<endl;//根据题目格式输出
cout<<min<<" "<<minIndex<<endl;
return 0;
}
【描述】
定义和调用sum函数,返回若干个整数的和,体会函数默认参数的使用。
【输入】
没有输入。
【输出】
100
106
16
36
【提示】
根据sum函数调用时实参的使用和结果的输出,推测sum函数的声明和实现。
#include <iostream>
using namespace std;
/* 请此处编写sum函数 */
int sum()//重载
{
return 100;
}
int sum(int a)
{
return 100+a;
}
int sum(int a,int b)
{
return a+b;
}
int sum(int a,int b,int c)
{
return a+b+c;
}
int main() {
cout << sum() << endl;
cout << sum(6) << endl;
cout << sum(6, 10) << endl;
cout << sum(6, 10, 20) << endl;
return 0;
}
【描述】
定义和调用三个swapValue函数,实现两个整数、两个浮点数和两个字符的交换。
要求用函数重载实现。函数参数可以是引用。
在main中输入交换前和输出交换后的值。
【输入】
输入的第一行是一个整数n(1≤n≤100),表示测试数据的总数。
接下来的n行,每行为测试数据,包含交换前的两个整数,两个浮点数和两个字符。
【输出】
输出包括n行,每行为测试结果,包含交换后的两个整数、两个浮点数和两个字符。
【输入示例】
2
12345 67890 1.23 8.79 A F
213879 7892 12379.2 8081.23 a u
【输出示例】
67890 12345 8.79 1.23 F A
7892 213879 8081.23 12379.2 u a
#include <iostream>
using namespace std;
/* 请在此处编写swapValue函数 */
//重载
void swapValue(int &a,int &b)//读地址
{
int t=a;
a=b;
b=t;
}
void swapValue(double &a,double &b)
{
double t=a;//注意t的类型
a=b;
b=t;
}
void swapValue(char &a,char &b)
{
char t=a;
a=b;
b=t;
}
int main() {
int n;
cin >> n;
for(int i = 1; i <= n; ++i) {
int i1, i2;
cin >> i1 >> i2;
double d1, d2;
cin >> d1 >> d2;
char ch1, ch2;
cin >> ch1 >> ch2;
swapValue(i1, i2);
swapValue(d1, d2);
swapValue(ch1, ch2);
cout << i1 << " " << i2 << " "
<< d1 << " " << d2 << " "
<< ch1 << " " << ch2 << endl;
}
return 0;
}
【描述】
输入一个数,定义和调用函数:double squareRoot(double x),求x的平方根,如果x是负数,函数抛出一个异常,否则返回x的平方根。要求使用异常机制来处理错误。
【输入】
输入一个数。
【输出】
如果该数是负数,则抛出异常,输出“Invalid”;否则输出该数的平方根。
【输入示例】
-6
【输出示例】
Invalid
【提示】
输出错误信息使用cout,不要使用cerr。【来源】
《程序设计基础——以C++为例》第3章实验12。
#include <iostream>
#include <cmath>
using namespace std;
/* 请在此处编写squareRoot函数 */
double squareRoot(double x)
{
if(x>=0)
{
return sqrt(x);//返回平方根
}
else
{
throw -1;//抛个异常
}
}
int main() {
double x;
cin >> x;
try {//激活异常
cout << squareRoot(x) << endl;
}
catch(int) {//捕获异常
cout << "Invalid" << endl;
}
return 0;
}
关于c++的异常详细处理, 可以看这里嗷:https://www.runoob.com/cplusplus/cpp-exceptions-handling.html