杭电2020-2029题解
大一实在是太闲了, 刷的杭电OJ, 因为当时只学了C, 所有题解都是C
杭电acm2020
# include <stdio.h>
int main ()
{
int n,i,j,t;
int a[100],b[100];
while (~scanf ("%d",&n),n!=0)
{
for (i=0;i<n;i++)
{
scanf ("%d",&a[i]);
b[i]=a[i]>0?a[i]:-a[i];
for (j=i;j>0;j--)
{
if (b[j]>b[j-1])
{
t=b[j];
b[j]=b[j-1];
b[j-1]=t;
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
}
for (i=0;i<n-1;i++)
{
printf ("%d ",a[i]);
}
printf ("%d\n",a[n-1]);
}
return 0;
}
杭电acm2021
# include <stdio.h>
int main ()
{
int n,i,s,x;
while (~scanf ("%d",&n),n!=0)
{
s=0;
for (i=0;i<n;i++)
{
scanf ("%d",&x);
s=s+x/100+x%100/50+x%50/10+x%10/5+x%5/2+x%5%2;
}
printf ("%d\n",s);
}
return 0;
}
杭电acm2022
# include <stdio.h>
int main ()
{
int m,n,x,y,i,j;
int a[100][100],b[100][100];
while (~scanf ("%d%d",&m,&n))
{
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{
scanf ("%d",&a[i][j]);
b[i][j]=a[i][j]>0?a[i][j]:-a[i][j];
}
}
for (i=0,x=0,y=0;i<m;i++)
{
for (j=0;j<n;j++)
{
if (b[x][y]<b[i][j])
{
x=i;
y=j;
}
}
}
printf ("%d %d %d\n",x+1,y+1,a[x][y]);
}
return 0;
}
杭电acm2023
# include <stdio.h>
int main ()
{
int m,n,i,j,x,s;
int a[50][5];
double sum,c[5];
while (scanf ("%d%d",&n,&m)!=EOF)
{
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
{
scanf ("%d",&a[i][j]);
}
}
for (i=0;i<n;i++)
{
for (j=0,sum=0;j<m;j++)
{
sum=sum+a[i][j];
}
printf ("%.2f",sum*1.0/m);
if (i!=n-1)
{
printf (" ");
}
}
printf ("\n");
for (j=0;j<m;j++)
{
for (i=0,sum=0;i<n;i++)
{
sum=sum+a[i][j];
}
c[j]=sum*1.0/n;
printf ("%.2f",c[j]);
if (j!=m-1)
{
printf (" ");
}
}
printf ("\n");
for (i=0,s=0;i<n;i++)
{
x=1;
for (j=0;j<m;j++)
{
if (a[i][j]<c[j])
{
x=0;
break;
}
}
if (x==1)
{
s++;
}
}
printf ("%d\n\n",s);
}
return 0;
}
杭电acm2024
#include<stdio.h>
#include<string.h>
int main()
{
char str[60];
int i,n,len,t=0;
while(~scanf("%d",&n))
{
getchar();
while(n--)
{
t=0;
gets(str);
if((str[0]>='A'&&str[0]<='Z')||(str[0]>='a'&&str[0]<='z')||(str[0]=='_'))
{
len=strlen(str);
for(i=1;i<=len-1;i++)
{
if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z')||(str[i]=='_')||(str[i]>='0'&&str[i]<='9')){
t=0;
}
else {
t=1;
break;
}
}
}
else{
t=1;
}
if(t==0) printf("yes\n");
else printf("no\n");
}
}
return 0;
}
杭电acm2025
# include <stdio.h>
int main ()
{
int i;
char a[100],k;
while (~scanf ("%s",a))
{
k=a[0];
for (i=1;a[i]!='\0';i++)
{
if (k<a[i])
{
k=a[i];
}
}
for (i=0;a[i]!='\0';i++)
{
printf ("%c",a[i]);
if (a[i]==k)
{
printf ("(max)");
}
}
printf ("\n");
}
return 0;
}
杭电acm2026
# include <stdio.h>
# include <string.h>
int main ()
{
int i,s;
char a[100];
while (gets (a))
{
s=strlen (a);
printf ("%c",a[0]-32);
for (i=1;i<s;i++)
{
if (a[i-1]==' ')
{
a[i]=a[i]-32;
}
printf ("%c",a[i]);
}
printf ("\n");
}
return 0;
}
杭电acm2027
# include <stdio.h>
# include <string.h>
int main ()
{
int n,i,j,s;
char str[100];
int a,e,k,o,u;
while (~scanf ("%d",&n))
{
getchar ();
for (i=0;i<n;i++)
{
a=e=k=o=u=0;
gets (str);
s=strlen (str);
for (j=0;j<s;j++)
{
switch (str[j])
{
case 'a':a++;break;
case 'e':e++;break;
case 'i':k++;break;
case 'o':o++;break;
case 'u':u++;break;
}
}
printf ("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a,e,k,o,u);
if (i!=n-1)
{
printf ("\n");
}
}
}
return 0;
}
杭电acm2028
# include <stdio.h>
int main ()
{
int n,i;
double s,k,y;
int a[100];
while (~scanf ("%d",&n))
{
for (i=0;i<n;i++)
{
scanf ("%d",&a[i]);
}
s=a[0];
for (i=1;i<n;i++)
{
k=s;
y=a[i];
while (1)
{
if (k==y)
{
break;
}
else if (k>y)
{
k=k-y;
}
else
{
y=y-k;
}
}
s=s*a[i]/k;
}
printf ("%.0f\n",s);
}
return 0;
}
杭电acm2029
# include <stdio.h>
# include <string.h>
int main ()
{
int n,i,j,x,s;
char a[100];
while (~scanf ("%d",&n))
{
getchar ();
for (i=0;i<n;i++)
{
gets (a);
s=strlen (a);
x=0;
for (j=0;j<s/2;j++)
{
if (a[s-j-1]!=a[j])
{
x=1;
break;
}
}
if (x==1)
{
printf ("no\n");
}
else
{
printf ("yes\n");
}
}
}
return 0;
}