20241122-C06-一维数组练习
原题链接:33673.徐沐瑶专属笔记C++2024-11-22 20:51:05
发布于:江苏
⚑ 常见数学函数以及头文件
#include <iostream>
#include <cmath> //数学库 头文件
using namespace std;
//函数:function (功能) 具有某些特殊的功能或者作用
int main(){
cout << abs(-2) << endl;
cout << abs(2) << endl; //绝对值函数
cout << sqrt(16) << endl; //平方根函数
cout << sqrt(81) << endl;
cout << pow(2,10) << endl; //8 次方函数, 幂函数
return 0;
}
⚑ 练习实例代码
实例1:最大值与最小值的和
#include <iostream>
using namespace std;
//全局变量,全是0
int a[1005], n, maxx, minx = 100;
int main(){
cin >> n;
for (int i=1; i<=n; i++){
cin >> a[i];
if (a[i] > maxx) maxx = a[i];
if (a[i] < minx) minx = a[i];
}
cout << minx + maxx;
return 0;
}
实例2:打印分数
输出低于平均分的分数。
#include <iostream>
using namespace std;
int a[1005], n, sum;
int main(){
cin >> n;
for (int i=1; i<=n; i++){
cin >> a[i];
sum += a[i];
}
double ave = sum*1.0 / n;
for (int i=1; i<=n; i++){
if (a[i] < ave){
cout << a[i] <<' ';
}
}
return 0;
实例3:最大值最小值之间的数字个数
找到第一次出现的最大值or最小值,然后输出他两之间的数字个数。
#include <iostream>
#include <math.h> //head
using namespace std;
//全局变量,全是0
int a[1005], n, maxx, minx = 100;
int p, q;
int main(){
cin >> n;
for (int i=1; i<=n; i++){
cin >> a[i];
if (a[i] > maxx) maxx = a[i];
if (a[i] < minx) minx = a[i];
}
for (int i=1; i<=n; i++){
if (a[i] == maxx){
p = i;
break;
}
}
for (int i=1; i<=n; i++){
if (a[i] == minx){
q = i;
break;
}
}
cout<< abs(p-q) - 1;
return 0;
}
实例4:数字统计
输出三行,第一行是在[x,y]区间内数字的个数, 第二行是区间内的数字, 第三行是不在区间内的数字。
#include <iostream>
using namespace std;
int n, a[1005], x, y, cnt;
int main(){
cin >> n >> x >> y;
for (int i=1; i<=n; i++){
cin >> a[i];
if (x<=a[i] && a[i]<=y) cnt++;
}
cout << cnt << endl;
for (int i=1; i<=n; i++){
if (x<=a[i] && a[i]<=y)
cout << a[i] << ' ';
}
cout << endl;
for (int i=1; i<=n; i++){
if (!(x<=a[i] && a[i]<=y))
cout << a[i] << ' ';
}
return 0;
}
实例5:找数字
输出数组中数字k出现的次数, 如果没有,则输出-1。
#include <iostream>
using namespace std;
int a[10005], n, k;
int main(){
cin >> n;
for(int i=1; i<=n; i++) cin>>a[i];
cin >> k;
for (int i=1; i<=n; i++){
if (a[i] == k){
cout << i;
return 0;
}
}
cout << -1;
return 0;
}
这里空空如也
有帮助,赞一个