csp往年试题第一题汇总(1)

约会的薯条 2020-01-06 11:32:58
csp历年试题(c++)
1、201909-1 小明种苹果
#include<iostream>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
int a[m][n+1];
for(int i=0;i<m;i++){
for(int j=0;j<n+1;j++){
cin>>a[i][j];
}
}
int b[m];
int sum;
for(int i=0;i<m;i++){
sum=0;
for(int j=1;j<n+1;j++){
sum=sum+(-a[i][j]);
}
b[i]=sum;
}
int sum1=0;
for(int i=0;i<m;i++){
sum1=sum1+a[i][0]-b[i];
}
int flag=1;
int max=b[0];
for(int i=0;i<m;i++){
if(b[i]>max){
max=b[i];
flag=i+1;
}
}
cout<<sum1<<" "<<flag<<" "<<max;
return 0;
}
2、201903-1 小中大(这个题一直是八十分,找不到是什么错误,欢迎大家指正)
#include"stdio.h"
#include<iostream>
using namespace std;
int maxa(int n,int a[]){
int max=a[0];
for(int i=0;i<n;i++){
if(a[i]>max){
max=a[i];
}
}
return max;
}
int mina(int n ,int a[]){
int min=a[0];
for(int i=0;i<n;i++){
if(a[i]<min){
min=a[i];
}
}
return min;
}
int zhong(int n,int a[]){
int mid=0;
if(n%2==0){
if((a[n/2]+a[n/2-1])%2==0){
mid=((a[n/2]+a[n/2-1])/2);
}else{
mid=(float)((a[n/2]+a[n/2-1])/2);
//printf("%.1f",mid);
}
}else{
mid=a[(n-1)/2];
}
return mid;
}s
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
int m;
cin>>m;
a[i]=m;
}
int b[3];
b[0]=maxa(n,a);
b[1]=mina(n,a);
b[2]=zhong(n,a);
if(b[2]>b[0]){
cout<<b[2]<<" "<<b[0]<<" "<<b[1]<<endl;
}else if(b[2]<b[1]){
cout<<b[0]<<" "<<b[1]<<" "<<b[2]<<endl;
}else{
cout<<b[0]<<" "<<b[2]<<" "<<b[1]<<endl;
}
return 0;
}
3、201812-1 小明上学
#include<iostream>
using namespace std;
int main(){
int r,y,g;
cin>>r>>y>>g;
int n;
cin>>n;
int a[n];
int b[n];
for(int i=0;i<n;i++){
int k,t;
cin>>k>>t;
a[i]=k;
b[i]=t;
}
int time=0;
for(int j=0;j<n;j++){
switch(a[j]){
case 0:
time=time+b[j];
break;
case 1:
time=time+b[j];
break;
case 2:
time=time+b[j]+r;
break;
case 3:
time=time+0;
break;
}
}
cout<<time<<endl;
return 0;
}
4、201809-1 卖菜
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
int b[n];
for(int i=0;i<n;i++){
if(i==0){
b[i]=(a[i]+a[i+1])/2;
}else if(i==n-1){
b[i]=(a[n-1]+a[n-2])/2;
}else{
b[i]=(a[i-1]+a[i+1]+a[i])/3;
}
}
for(int i=0;i<n;i++){
cout<<b[i]<<" ";
}
return 0;
}
5、201803-1 跳一跳
#include<iostream>
using namespace std;
int main(){
int a[30];
int flag=0;
for(int i=0;i<30;i++){
int x;
cin>>x;
if(x!=0){
a[i]=x;
flag++;
}else{
break;
}
}
int sum=0;
int count=0;
for(int j=0;j<flag;j++){
switch(a[j]){
case 0:
break;
case 1:
sum=sum+1;
break;
case 2:
if(a[j-1]==1){
count=0;
}
count++;
sum=sum+count*2;
}
}
cout<<sum<<endl;
return 0;
}

希望有什么问题大家积极指出!!!我们共同进步!
...全文
74 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧