第一题略
第二题
#include<stdio.h> int main() { int a1,a2,a3,b1,b3,b2,c1,c2,c3,n,sum,d1,d2,d3,i; scanf("%d ",&n); for(i=0;i<n;i++) { scanf("%d%d%d%d%d%d",&a1,&a2,&a3,&b1,&b2,&b3); c1=(a1+b1)*60*60; c2=(a2+b2)*60; c3=(a3+b3); sum=c1+c2+c3; d1=sum/3600; d2=(sum-d1*60*60)/60; d3=sum%60; printf("%d %d %d ",d1,d2,d3); } }
第三题题解
#include<stdio.h> int main() { int a,b,n; while(scanf("%d%d",&a,&b)!=EOF&&(a||b)) { int n=a; while(b>0&&a>=b) { n+=a/b; a=a/b+a%b; } printf("%d ",n); } }
第四题题解
#include<stdio.h> #include<math.h> char a[100], b[100]; int main(){ int number; int c = 0; while(scanf("%d", &number)!=EOF) { scanf("%s%s", a, b); for (int i = 0; i < number; ++i){ int tmp = fabs(a[i] - b[i]); if (tmp > 5) c += (10 - tmp); else c += tmp; } printf("%d ", c); c = 0; } return 0; }
第五题题解
#include<iostream> #include<cstring> #include<cstdio> using namespace std; char a[165]; int main() { int T; while(cin >> T) { while(T--) { cin >> a; int len = strlen(a); int flag = false; int last = 0; int sum = 0; for(int i = 0; i < len; i++) { if(a[i] == 'A' || a[i] == 'a') { flag = true; last++; sum += last; } else { flag = false; last = 0; } } cout << sum << endl; } } return 0; }
第七题题解
#include<stdio.h> int main() { double a[10000]; int i,b; a[0]=0; a[1]=1; a[2]=2; for(i=3;i<1000;i++) { a[i]=a[i-1]+a[i-2]; } while(scanf("%d",&b)!=EOF) { printf("%.lf ",a[b]); } }
第八题题解
#include<stdio.h> #include<math.h> int sushu(int n) { int i; for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return 1; } int main() { int n; while(scanf("%d",&n)!=EOF) { for(;;n--) if(sushu(n)) break; printf("%d ",n); } }
新生赛第九题
#include<stdio.h> int main() { int i,a,max=0,min=100,s; char l[100]={0},op; gets(l); { for(i=0;;i=i+2) { if(l[i]=='=') break; else {if(l[i]==43||l[i]==45||l[i]==42||l[i]==37||l[i]==47) op=l[i]; else { if(l[i+2]==44) {a=(l[i]-48)*10+l[i+1]-48;i++;} else a=l[i]-48; if(a>=max) {max=a;} if(a<=min) {min=a;} } } } switch(op) {case 43:s=max+min; printf("%d+%d=%d ",max,min,s); break; case 45:s=max-min; printf("%d-%d=%d ",max,min,s); break; case 42:s=max*min;printf("%d*%d=%d ",max,min,s); break; case 37:{if(min==0) {printf("Error! "); break;} else {s=max%min; printf("%d%%%d=%d ",max,min,s); break;}} case 47:{if(min==0) { printf("Error! "); break;}else{s=max/min; printf("%d/%d=%d ",max,min,s); break;}}} } }
新生赛第十题
#include<stdio.h> char str[1010]; int a[100000]; void qsort(int a[],int l,int r) { int x=a[l],i=l,j=r; if(l>=r) return; while(i<j) { while(i<j&&a[j]>=x)j--; a[i]=a[j]; while(i<j&&a[i]<=x)i++; a[j]=a[i]; } a[i]=x; qsort(a,l,i-1); qsort(a,i+1,r); } int main() { int k,i,sum; while(~scanf("%s",str)) { k=0;i=0; while(str[i]!='