第一题略
第二题
#include<stdio.h>
int main()
{
int a1,a2,a3,b1,b3,b2,c1,c2,c3,n,sum,d1,d2,d3,i;
scanf("%d\n",&n);
for(i=;i<n;i++)
{
scanf("%d%d%d%d%d%d",&a1,&a2,&a3,&b1,&b2,&b3);
c1=(a1+b1)**;
c2=(a2+b2)*;
c3=(a3+b3);
sum=c1+c2+c3;
d1=sum/;
d2=(sum-d1**)/;
d3=sum%;
printf("%d %d %d\n",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>&&a>=b)
{
n+=a/b;
a=a/b+a%b;
}
printf("%d\n",n);
}
}
第四题题解
#include<stdio.h>
#include<math.h>
char a[], b[];
int main(){
int number;
int c = ;
while(scanf("%d", &number)!=EOF)
{
scanf("%s%s", a, b);
for (int i = ; i < number; ++i){
int tmp = fabs(a[i] - b[i]);
if (tmp > )
c += ( - tmp);
else
c += tmp;
}
printf("%d\n", c);
c = ;
}
return ;
}
第五题题解
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char a[];
int main() {
int T;
while(cin >> T)
{
while(T--) {
cin >> a;
int len = strlen(a);
int flag = false;
int last = ;
int sum = ;
for(int i = ; i < len; i++) {
if(a[i] == 'A' || a[i] == 'a') {
flag = true;
last++;
sum += last;
}
else {
flag = false;
last = ;
}
}
cout << sum << endl;
}
}
return ;
}
第七题题解
#include<stdio.h>
int main()
{
double a[];
int i,b;
a[]=;
a[]=;
a[]=;
for(i=;i<;i++)
{
a[i]=a[i-]+a[i-];
}
while(scanf("%d",&b)!=EOF)
{
printf("%.lf\n",a[b]);
}
}
第八题题解
#include<stdio.h>
#include<math.h>
int sushu(int n)
{
int i;
for(i=;i<=sqrt(n);i++)
if(n%i==)
return ;
return ;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
for(;;n--)
if(sushu(n))
break;
printf("%d\n",n);
}
}
新生赛第九题
#include<stdio.h>
int main()
{
int i,a,max=,min=,s;
char l[]={},op;
gets(l);
{
for(i=;;i=i+)
{
if(l[i]=='=')
break;
else
{if(l[i]==||l[i]==||l[i]==||l[i]==||l[i]==)
op=l[i];
else
{
if(l[i+]==)
{a=(l[i]-)*+l[i+]-;i++;}
else
a=l[i]-;
if(a>=max)
{max=a;}
if(a<=min)
{min=a;}
}
}
}
switch(op)
{case :s=max+min;
printf("%d+%d=%d\n",max,min,s);
break;
case :s=max-min;
printf("%d-%d=%d\n",max,min,s);
break;
case :s=max*min;printf("%d*%d=%d\n",max,min,s);
break;
case :{if(min==)
{printf("Error!\n");
break;}
else
{s=max%min;
printf("%d%%%d=%d\n",max,min,s);
break;}}
case :{if(min==)
{
printf("Error!\n");
break;}else{s=max/min;
printf("%d/%d=%d\n",max,min,s);
break;}}}
}
}
新生赛第十题
#include<stdio.h>
char str[];
int a[];
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-);
qsort(a,i+,r);
}
int main()
{
int k,i,sum;
while(~scanf("%s",str))
{
k=;i=;
while(str[i]!='\0')
{
sum=;
if(str[i]=='')
{
i++;
continue;
}
while(str[i]!=''&&str[i]!='\0')
{
sum=sum*+str[i]-'';
i++;
}
a[k]=sum;
k++;
}
qsort(a,,k-);
for(i=;i<k-;i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[i]);
}
return ;
}
新生赛第十一题
#include<stdio.h>
int main()
{
int n,m,i,j,a[][],s,t,q,sum;double b[],c[];
while(scanf("%d %d",&n,&m)!=EOF&&n&&m)
{
sum=;q=;b[]=;c[]=;
for(i=;i<n;i++)//学生数 n
{
for(j=;j<m;j++)//科目 m
{
scanf("%d",&a[i][j]);
}
}
for(i=;i<n;i++)
{
for(j=;j<m;j++)
{
t+=a[i][j];
};c[i]=t;t=;//某学生m科目总分
}
for(i=;i<n-;i++)
{
printf("%.2lf ",c[i]/m);
}
printf("%.2lf",c[n-]/m);
printf("\n");
for(j=;j<m;j++)
{
for(i=;i<n;i++)
{
s+=a[i][j];
};b[j]=s;s=;//某科目n学生总分
} for(j=;j<m-;j++)
{
printf("%.2lf ",b[j]/n);
}
printf("%.2lf",b[m-]/n);
printf("\n");
for(i=;i<n;i++)
{
for(j=;j<m;j++)
{
if(a[i][j]>=(b[j]/n)) q++;
};if(q==m) sum++;q=;
}printf("%d\n\n",sum);
}return ;
}
新生赛第十二题
#include<iostream>
#include<cstring>
#define maxn 100
using namespace std;
int n,m,sum;
char mapp[maxn][maxn];
int visit[maxn][maxn];
int dir[][]={{,},{,-},{,},{-,},{,},{-,},{,-},{-,-}};
void input()
{
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{
cin>>mapp[i][j];
}
}
}
void dfs(int x,int y)
{
visit[x][y]=;
for(int i=;i<;i++)
{
int xx=x+dir[i][];
int yy=y+dir[i][];
if(xx<||xx>=n||y<||yy>=m||visit[xx][yy]||mapp[xx][yy]=='*') continue;
dfs(xx,yy);
}
}
int main()
{
while(cin>>n>>m)
{
if(!n&&!m) break;
input();
sum=;
memset(visit,,sizeof(visit));
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{
if(mapp[i][j]=='@'&&!visit[i][j])
{
sum++;
dfs(i,j);
}
}
}
cout<<sum<<endl;
}
return ;
}