[IMG] [/IMG]
什么啊
第一题 主要是边界条件的判断
#include <stdio.h>
#include <string.h>
main()
{
int n,i,j,a,b,m,d;
int t[10][10];
char r[10]="TL-BR";
char l[10]="TR-BL";
char s[10];
scanf("%d",&n);
for(d=0; d<n; d++)
{
scanf("%d x %d",&a,&b);
for(i=0; i<a; i++)
for(j=0; j<b; j++)
{
scanf("%d",&m);
t[i][j]=m;
}
scanf("%s",s);
if(strcmp(s,r)==0) // TL-BR
{ i=j=0;
printf("%d ",t[i][j]);
while(i<a && j<b)
{
if(j==b-1)
i++;
else
j++;
while(j>=0 && i<=a-1)
printf("%d ",t[i++][j--]);
j++; i--;
if(i==a-1)
j++;
else
i++;
while(i>=0 && j<=b-1)
printf("%d ",t[i--][j++]);
i++; j--;
}
printf("\n");
}
else if(strcmp(s,l)==0) // TR-BL
{
i=0; j=b-1;
printf("%d ",t[i][j]);
while(i<=a-1 && j>=0)
{
if(j==0)
i++;
else
j--;
while(j<b && i<a)
printf("%d ",t[i++][j++]);
j--; i--;
if(i==a-1)
j--;
else
i++;
while(i>=0 && j>=0)
printf("%d ",t[i--][j--]);
i++; j++;
}
printf("\n");
}
else
{ printf("error string\n"); break; }
}
}
第一题 主要是边界条件的判断
#include <stdio.h>
#include <string.h>
main()
{
int n,i,j,a,b,m,d;
int t[10][10];
char r[10]="TL-BR";
char l[10]="TR-BL";
char s[10];
scanf("%d",&n);
for(d=0; d<n; d++)
{
scanf("%d x %d",&a,&b);
for(i=0; i<a; i++)
for(j=0; j<b; j++)
{
scanf("%d",&m);
t[i][j]=m;
}
scanf("%s",s);
if(strcmp(s,r)==0) // TL-BR
{ i=j=0;
printf("%d ",t[i][j]);
while(i<a && j<b)
{
if(j==b-1)
i++;
else
j++;
while(j>=0 && i<=a-1)
printf("%d ",t[i++][j--]);
j++; i--;
if(i==a-1)
j++;
else
i++;
while(i>=0 && j<=b-1)
printf("%d ",t[i--][j++]);
i++; j--;
}
printf("\n");
}
else if(strcmp(s,l)==0) // TR-BL
{
i=0; j=b-1;
printf("%d ",t[i][j]);
while(i<=a-1 && j>=0)
{
if(j==0)
i++;
else
j--;
while(j<b && i<a)
printf("%d ",t[i++][j++]);
j--; i--;
if(i==a-1)
j--;
else
i++;
while(i>=0 && j>=0)
printf("%d ",t[i--][j--]);
i++; j++;
}
printf("\n");
}
else
{ printf("error string\n"); break; }
}
}
# include <stdio.h>
# include <string.h>
typedef struct node
{ char ch[100];
struct node *left;
struct node *right;
} BITree;
main()
{
int i=0,j=0,no[100]={0},l,n,k;char c[100][100],s[100][100];
BITree *head,*p,*q;
if(!(p=(BITree *)malloc(sizeof(BITree))));
p->left=p->right=NULL;
while(!feof(stdin))
{ head=p;
gets(c[i]);
if(i==0){strcpy(head->ch,c[i]);no[i]==0;i++;continue;}
if(c[i][0]=='*')
{n=i;i++;continue;}
if(c[i][0]=='[')
{strcpy(s[j++],&c[i][8]);i++;continue;}
if(!(q=(BITree *)malloc(sizeof(BITree))));
{
strcpy(q->ch,c[i]);
while(1)
{
if(strcmp(p->ch,c[i])<0)
if(p->left==NULL)
{ no[i]++;p->left=q;
q->left=NULL;
q->right=NULL;
break;}
else {no[i]++;p=p->left;}
if(strcmp(p->ch,c[i])>0)
if(p->right==NULL)
{ no[i]++;p->right=q;
q->left=NULL;
q->right=NULL;
break;}
else {p=p->right;no[i]++;}}}
i++;}
for(i=0;i<j;i++)
{l=1;
for(k=0;k<n;k++)
if(strcmp(s[i],c[k])==0)
{ l=0;
printf("%s-%d\n",s[i],no[k]);}
if(l)
{printf("%s-Not Found\n",s[i]);}
}}
[此贴子已经被作者于2006-12-7 10:34:17编辑过]