| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
C语言,本地正确,帮忙看下为什么WRONG.......#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct KEY
{
int size;
char ch1[5],ch2;
}key[30];
void KEYF();
void main()
{
int n,i,j=0,m,k=0,km,a[200],t,NUM=1;
char *c=malloc(5),*str1=malloc(200*sizeof(char)),*str2=malloc(1000*sizeof(char));
KEYF();
scanf("%d",&n);
while(n--)
{
k=0,km=0,i=0;
fflush(stdin);
scanf("%s",str1);
while(*(str1+i)!='\0')
{
m=0;
for(j=0;j<30;j++)
if(key[j].ch2==*(str1+i)) break;
while(m<key[j].size) *(str2+k++)=key[j].ch1[m++];
a[km++]=key[j].size;
i++;
}
*(str2+k)='\0';
for(i=0;i<km/2;i++)
t=a[i],a[i]=a[km-i-1],a[km-i-1]=t;
k=0;
printf("%d: ",NUM++);
for(i=0;i<km;i++)
{
for(j=0;j<a[i];j++)
*(c+j)=*(str2+k++);
*(c+j)='\0';
for(j=0;j<30;j++)
if(!strcmp(c,key[j].ch1))
printf("%c",key[j].ch2);
}
printf("\n");
}
}
void KEYF()
{
int i,j=0,k;
char *str=".- -... -.-. -.. . ..-. --. .... .. .--- -.- .-.. -- -. --- .--. --.- .-. ... - ..- ...- .-- -..- -.-- --.. ..-- .-.- ---. ---- ";
key[26].ch2='_',key[27].ch2=',',key[28].ch2='.',key[29].ch2='?';
for(i=0;i<=25;i++)
key[i].ch2=65+i;
i=0;
while(*(str+j)!='\0')
{
k=0;
while(*(str+j)!=' ')
{
key[i].ch1[k]=*(str+j);
j++,k++;
}
key[i].ch1[k]='\0';
key[i].size=k;
j++,i++;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator