像1.9这样的题,除了第8题有点长剩下的都属于不是很难的题,它主要是想让我们按照顺序来查找指定的东西,只要开一个桶数组就好解决很多。答案如下(只有1-10题):
1.9.1:
#include<bits/stdc++.h> using namespace std; int a[10001]; int main(){ int n,m; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>m; for(int i=1;i<=n;i++){ if(a[i]==m){ cout<<i; return 0; } } cout<<"-1"; return 0; }
1.9.2:
#include<bits/stdc++.h> using namespace std; char str[105],ans[105]; int main(){ int n,maxx=0; cin>>n; for(int i=1;i<=n;i++){ int x; cin>>x>>str; if(maxx<x){ maxx=x; strcpy(ans,str); } } cout<<ans; return 0; }
1.9.3:
#include<bits/stdc++.h> using namespace std; int a[10001],b[10001]; int main(){ int maxx=0,ans=0; for(int i=1;i<=7;i++){ cin>>a[i]>>b[i]; } for(int i=1;i<=7;i++){ if(a[i]+b[i]>8){ if(maxx<a[i]+b[i]){ maxx=a[i]+b[i]; ans=i; } } } cout<<ans; return 0; }
1.9.4:
#include<bits/stdc++.h> using namespace std; string name; char str[10001],a[105]; int main(){ int n,ans=0,asum=0; cin>>n; for(int i=1;i<=n;i++){ int pj,py,lw,sum=0; char xs,xb; cin>>str>>pj>>py>>xs>>xb>>lw; if(pj>80&&lw) sum+=8000; if(pj>85&&py>80) sum+=4000; if(pj>90) sum+=2000; if(pj>85&&xb=='Y') sum+=1000; if(py>80&&xs=='Y') sum+=850; if(ans<sum){ ans=sum; strcpy(a,str); } asum+=sum; } cout<<a<<endl; cout<<ans<<endl; cout<<asum; return 0; }
1.9.5:
#include<bits/stdc++.h> using namespace std; int main() { int n,max=0,min=10005; cin>>n; int a[n+5]={0}; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { if(a[i]>max) { max=a[i]; } if(min>a[i]) { min=a[i]; } } cout<<max-min; return 0; }
1.9.6:
#include<bits/stdc++.h> using namespace std; char str[100001]; int t[30]; int main(){ cin>>str+1; int len=strlen(str+1); for(int i=1;i<=len;i++){ int x=str[i]-'a'+1; t[x]++; } int maxx=0,minx=len; for(int i=1;i<=26;i++){ maxx=max(maxx,t[i]); if(t[i]&&t[i]<minx) minx=t[i]; } int x=maxx-minx; int f=0; for(int i=2;i<x;i++){ if(x%i==0){ f=1; break; } } if(x==1||x==0) f=1; if(f==0) cout<<"Lucky Word"<<endl<<x; else cout<<"No Answer"<<endl<<"0"; return 0; }
1.9.7:
#include<bits/stdc++.h> using namespace std; int a[100001]; int main(){ int n,sum=0,maxx=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ maxx=max(maxx,a[i]); } for(int i=1;i<=n;i++){ if(a[i]!=maxx) sum+=a[i]; } cout<<sum; return 0; }
1.9.8:
#include<bits/stdc++.h> using namespace std; double a[310]; int main() { int n; cin>>n; double sum=0; for(int i=1;i<=n;i++) { cin>>a[i]; sum=sum+a[i]; } double max=0,min=10000000; int num1,num2; for(int i=1;i<=n;i++) { if(a[i]>max) { max=a[i]; num1=i; } if(a[i]<min) { min=a[i]; num2=i; } } double ave=(sum-max-min)*1.0/(n-2); double ans=0; for(int i=1;i<=n;i++) { if(i!=num1&&i!=num2) { if(fabs(ave-a[i])>ans) ans=fabs(ave-a[i]); } } printf("%.2lf %.2lf",ave,ans); return 0; }
1.9.9:
#include<bits/stdc++.h> using namespace std; int a[100001]; int main(){ int n,maxx=0; cin>>n; for(int i=1;i<=n;i++){ int x; cin>>x; a[x]++; maxx=max(maxx,x); } for(int i=0;i<=maxx;i++){ cout<<a[i]<<endl; } return 0; }
1.9.10:
#include<bits/stdc++.h> using namespace std; int a[35][105]; int b[35]; int main() { int n,k,x,max=0; char ch; cin>>n; for(int i=1;i<=n;i++) { k=0; while(1) { scanf("%d%c",&x,&ch); if(ch==',') { k++; a[i][k]=x; } else { a[i][++k]=x; b[i]=k; break; } } } for(int i=1;i<=n;i++) { for(int j=1;j<=b[i];j++) { if(a[i][j]>max) max=a[i][j]; } } cout<<max<<endl; bool flag=0; for(int i=1;i<=n;i++) { for(int j=1;j<=b[i];j++) { if(a[i][j]==max) { if(flag==0) { cout<<i; flag=1; } else cout<<","<<i; break; } } } return 0; }