U1-10-数组练习
2025-10-19 12:30:59
发布于:江苏
1阅读
0回复
0点赞
一、上周作业练习
补充:平均分
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, a[55] = {}, sum = 0;
cin >> n;
for (int i=1; i<=n; i++){
cin >> a[i];
sum += a[i]; //
}
cout << sum/n;
return 0;
}
1. 购物
#include <bits/stdc++.h>
using namespace std;
int main(){
int sum = 0;
int a[10005], n, x, y;
cin >> n;
for (int i=1; i<=n; i++) cin >> a[i];
cin >> x >> y;
for (int i=x; i<=y; i++){
sum += a[i];
}
cout << sum ;
return 0;
}
/*
题目描述
商铺摆了共 n 件物品,
每件物品的标价已经写出,
现在购买第 x 件到第 y 件物品至少需要准备多少钱?
提示
1≤n≤10^4,1≤x≤y≤n
1≤ni ≤2000
输入格式
共三行,第一行一个整数 n,
第二行用空格间隔的 n 个整数 ni表示每件物品的标价。
第三行两个整数 x,y,表示需要购买第 x 到 y 件的物品。
输出格式
输出一个整数,至少需要准备这么多钱。
样例组
输入#1
5
100 200 100 35 50
1 3
输出#1
400
样例解释:
第一个样例购买的物品是第 1 件到第 3 件,因此总额是 100+200+100=400。
第二个样例购买的物品是第 3 件到第 5 件,因此总额是 100+35+50=185。
输入#2
5
100 200 100 35 50
3 5
输出#2
185
*/
2. 期末分
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, a[55]={}, b[55]={};
cin >> n;
for (int i=1; i<=n; i++){
cin>>a[i];
}
for (int i=1; i<=n; i++) {
cin>>b[i];
}
for (int i=1; i<=n; i++){
cout << a[i] + b[i] <<' ';
}
return 0;
}
/*
[期末分]
题目描述
期末考试共两科,语文和数学,
已知班上所有同学的语文分和数学分,
请帮助求出每个人的期末分。
提示
1≤n≤50,每科成绩不超过 100 分,且不低于 0 分的整数。
输入格式
共三行,第一行一个整数 n, 表示学生人数。
第二行是每个人的语文成绩,分别用空格间隔的 n 个学生成绩。
第三行是每个人的数学成绩,分别用空格间隔的 n 个学生成绩。
输出格式
输出一行用空格间隔的 n 个学生的期末总分。
样例组
输入#1
3
100 88 91
100 75 85
输出#1
200 163 176
样例解释:
第一个学生的语文 100,数学 100,期末总分 200 分。
第二个学生的语文 88,数学 75,期末总分 163 分。
第三个学生的语文 91,数学 85,期末总分 176 分。
*/
二、课堂练习代码部分
1. 非负数
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,a[1005]={};
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=n;i>=1;i--){
if(a[i]>=0){
cout<<a[i]<<" ";
}
}
return 0;
}
/*
[非负数]
题目描述
考虑共有 n 个数字,请倒序输出所有的非负整数,非负数至少存在 1 个。
提示
1≤n≤1000,每个数据 ?1000≤1000
输入格式
共两行,第一行一个整数 n,表示总共 n 个整数。
第二行共 n 个整数。
输出格式
倒序输出所有的非负整数,之间用空格间隔。
样例组
输入#1
5
1 2 3 -1 -2
输出#1
3 2 1
输入#2
5
1 3 -1 0 -2
输出#2
0 3 1
*/
2.逆序输出3的倍数
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,a[1005]={};
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=n;i>=1;i--){
if(a[i]%3==0){
cout<<a[i]<<"\n";
}
}
return 0;
}
/*
[逆序输出3的倍数]
题目描述
输入 n 和n个整数,将所有 3 的倍数输出。
输入格式
输入有 2 行。第 1 行输入 n (0<n≤1000),第 2 行输入 n 个整数,整数间用一个空格隔开。
整数在 int 的表示范围内。
输出格式
逆序输出所有 3 的倍数,每个数字占一行。
样例组
输入#1
5
3 5 6 7 9
输出#1
9
6
3
*/
这里空空如也
有帮助,赞一个