电子学会编程等级考试二级-一维数组
电子学会编程等级考试二级-一维数组
1.6-01
与指定数字相同的数的个数
#include<bits/stdc++.h> using namespace std; int a[105],n,m,ans; int main(){ cin>>n;//输入序列长度n for(int i=0;i<n;i++){//循环输入n个数道数组a cin>>a[i]; } cin>>m;//输入要查找的数到m for(int i=0;i<n;i++){//需要遍历a数组 if(a[i]==m){//找到m ans加一 ans++; } } cout<<ans; }
1.6-02
陶陶摘苹果
#include<bits/stdc++.h> using namespace std; int a[10],m,ans; int main(){ for(int i=0;i<10;i++){//输入10个苹果高度到数组a cin>>a[i]; } cin>>m;//输入陶陶可达的高度 for(int i=0;i<10;i++){ if(m+30>=a[i]){//陶陶站在凳子上可达高度比苹果高 ans加1 ans++; } } cout<<ans; }
1.6-03
计算书费
#include<bits/stdc++.h> using namespace std; float prices[10]={28.9,32.7,45.6,78,35,86.2,27.8,43,56,65};//提前存储10本书价格 int x; float ans; int main(){ for(int i=0;i<10;i++){ cin>>x;//输入每种数数量到x ans+=prices[i]*x;//书价*数量 累加到ans } printf("%.1f",ans);//保留一位小数输出 }
1.6-04
数组逆序重放
#include<bits/stdc++.h> using namespace std; int a[100]; int main(){ int n,t; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for(int i=1;i<=n/2;i++){//交换n/2次 swap(a[i],a[n+1-i]);//a[i]与a[n+1-i] 交换 1与n交换 2与n-1交换 } for(int i=1;i<=n;i++){ printf("%d ",a[i]); } return 0; }
1.6-05
年龄与疾病
#include<bits/stdc++.h> using namespace std; int a[1000]; int main(){ int n; //a1,a2,a3,a4每个年龄人数 //b1,b2,b3,b4每个年龄段百分比 double b1,b2,b3,b4,a1=0,a2=0,a3=0,a4=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]<=18){ a1++; }else if(a[i]<=35){ a2++; }else if(a[i]<=60){ a3++; }else if(a[i]>=60){ a4++; } } b1=a1/n*100; b2=a2/n*100; b3=a3/n*100; b4=a4/n*100; // %.2f 保留两位小数 %% 输出一个% \n 换行 printf("%.2f%%\n",b1); printf("%.2f%%\n",b2); printf("%.2f%%\n",b3); printf("%.2f%%\n",b4); return 0; }
1.6-06
校门外的树
#include<bits/stdc++.h> using namespace std; int main(){ int a[10001]; int l,m,x,y,s=0; scanf("%d%d",&l,&m); for(int i=0;i<=l;i++){// 0-l包括l+1种树位置 a[i]=1;//都赋值为1表示都种树 } for(int i=1;i<=m;i++){//m段修地铁 scanf("%d%d",&x,&y);//每段起始 for(int j=x;j<=y;j++){//每段起始位置包括中间数都不能种树 a[j]=0;//不能种树的地方设置为0 可能有重复的多次设置为0 } } for(int i=0;i<=l;i++){// 0-l包括l+1种树位置 if(a[i]==1) s++; //可以种树的位置累加到s } printf("%d",s); return 0; }
1.6-07
有趣的跳跃
#include<bits/stdc++.h> using namespace std; //a数组存储所有数 b数组存放相邻差 int a[3001],b[3001],n; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<n;i++){//b[1]为a[1]与a[2]的差 b[n-1]为a[n-1]与a[n]的差 b[i]=abs(a[i]-a[i+1]); } sort(b,b+n);//从0开始对n-1个数进行排序 第一个为0 排在最前面 升序 for(int i=1;i<n;i++){//从第一个开始 b[i]和i相同才符合要求 if(b[i]!=i){//找到不同的结束 cout<<"Not jolly"; return 0; } } cout<<"Jolly";//没有找到不同的 输出 return 0; }
作者:newcode 更多资源请关注纽扣编程微信公众号
从事机器人比赛、机器人等级考试、少儿scratch编程、信息学奥赛等研究学习