深高北-L9-数组&while循环
2025-11-28 17:29:45
发布于:广东
上节课作业代码:
T1:【一维数组】【入门】数组元素的查找
#include <iostream>
using namespace std;
int main(){
//数据的输入
int n,a[110],k;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cin>>k;
int flag=-1;
for(int i=1;i<=n;i++){
if(a[i]==k){
flag=i;
break;
}
}
cout<<flag;
return 0;
}
T2:【一维数组】【入门】不与最大数相同的数字之和
#include <bits/stdc++.h>
using namespace std;
int main(){
//数据的输入
//最大值通常赋值为能拿到的数据最小值
//最小值通常是赋值为能拿到的数据最大值
int n,a[110],mx=INT_MIN;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]>mx){
mx=a[i];
}
}
int sum=0;
for(int i=1;i<=n;i++){
if(a[i]!=mx){
sum+=a[i];
}
}
cout<<sum;
return 0;
}
T3:求和
#include <bits/stdc++.h>
using namespace std;
int main(){
//数据的输入
//最大值通常赋值为能拿到的数据最小值
//最小值通常是赋值为能拿到的数据最大值
long long n,a[100010];
cin>>n;
long long sum=0;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]%10==0||a[i]%10==5){
sum+=a[i];
}
}
cout<<sum;
return 0;
}
T4:最大连续1的个数
#include <bits/stdc++.h>
using namespace std;
int main(){
//数据的输入
//最大值通常赋值为能拿到的数据最小值
//最小值通常是赋值为能拿到的数据最大值
int n,a[100010],cnt=0,mx=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]==1){
cnt++;
}else{
cnt=0;
}
if(cnt>mx){
mx=cnt;
}
}
cout<<mx;
return 0;
}
T5:A75608.闰年展示
#include <iostream>
using namespace std;
int check(int a){
if((a%4==0 && a%100!=0) || a%400==0){
return 1;
}else{
return 0;
}
}
int main(){
int x,y,sum=0;
cin>>x>>y;
for(int i=x;i<=y;i++){
if(check(i)==1){
sum++;
}
}
cout<<sum<<endl;
for(int i=x;i<=y;i++){
if(check(i)==1){
cout<<i<<" ";
}
}
return 0;
}
一、一维数组
什么是数组?解决有多个数据存储的问题
遍历:访问数组里面的所有存储的元素
遍历输入
for(int i=1;i<=n;i++){
cin>>a[i];
}
遍历处理
for(int i=1;i<=n;i++){
a[i];
}
遍历输出
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
二、普通函数的定义
返回值类型 函数名(数据类型 参数1,数据类型 参数2...){
函数体(函数的功能)
return xx;如果有返回值使用return进行返回结束
}
三、循环的关键字
break--->打破;结束整个循环
continue--->继续;结束这一次循环,进入下一次
四、万能头文件
#include <bits/stdc++.h>
INT_MIN-->获取int类型的最小值
INT_MAX-->获取int类型的最大值 一、数组的遍历模板
五、while循环的概念和使用场景
while和for循环的区别:
for(循环初值;循环条件;循环该变量)
for(int i=1;i<=n;i++){
cout<<i<<" ";
}
两个循环本质上是可以互相转换的,都包含循环的三要素
在语法场景上,for循环适合解决计数类型的循环问题;while循环是解决条件循环类型
语法:
while(条件){
条件成立进入循环体
}
int i=1;
while(i<=n){
cout<<i<<" ";
i++;//1~n;2~n+1
}
数位分离:
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
while(n!=0){
cout<<n%10<<" ";
n/=10;
}
return 0;
}
循环输入:
while(n--){
}
这里空空如也






有帮助,赞一个