Use
Code: Select all
......
char input[810];
......

Moderator: Board moderators
Code: Select all
......
char input[810];
......
Code: Select all
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int reverse(char* str)
{
char c;
int i,j;
i=0;
j=strlen(str)-1;
while(i<j)
{
c=str[i];
str[i]=str[j];
str[j]=c;
i++;
j--;
}
return 0;
}
char* encode(char* str,char* res)
{
int i;
for(i=0;i<strlen(str) && str[i]!='\n' && str[i]!='\r';i++)
{
sprintf(res,"%s%d",res,str[i]);
}
reverse(res);
return res;
}
//察看字符是否在规定的范围内
int judge_char(char c)
{
if ( (c>='A' && c<='Z') || (c>='a' && c<='z') || c==' ' || c=='!' || c==',' || c=='.' || c==';' || c==':' || c=='?')
return 0;
else
return 1;
}
char* decode(char * str,char* res)
{
char j[1024]="",k[1024]="";
int length,i,res_len=0;
reverse(str);
strcpy(k,str);
length=strlen(str);
bzero(res,1024);
for(i=0;i<length ;i++)
{
if(!(k[i]<='9' && k[i]>='0'))
{
str++;
continue;
}
strncpy(j,str,2);
j[2]='\0';
if(judge_char(atoi(j)))
{
strncpy(j,str,3);
j[3]='\0';
if(judge_char(atoi(j)))
{
exit(1);
}
i+=2;
str+=3;
res_len++;
sprintf(res,"%s%c",res,atoi(j));
}
else
{
i++;
str+=2;
res_len++;
sprintf(res,"%s%c",res,atoi(j));
}
}
res[res_len]='\0';
return res;
}
int include_dig(char *str)
{
int i;
for(i=0;i<strlen(str);i++)
{
if(str[i]<='9' && str[i]>='0')
return 1;
}
return 0;
}
int include_char(char *str)
{
int i;
for(i=0;i<strlen(str);i++)
if(!judge_char(str[i]) && str[i]!=' ')
return 1;
return 0;
}
int main()
{
char res[1024];
char* str=(char*)malloc(sizeof(char)*1024);
bzero(res,1024);
bzero(str,1024);
size_t len;
while(getline(&str,&len,stdin) >0)
{
if(include_char(str))
printf("%s\n",encode(str,res));
else if(include_dig(str))
printf("%s\n",decode(str,res));
else
{
printf("%s\n",res);
}
bzero(res,1024);
bzero(str,1024);
}
free(str);
return 0;
}
I think u know what to do1. error C2065: 'bzero' : undeclared identifier
2. error C2065: 'getline' : undeclared identifier
Code: Select all
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char buf[880];
char tmp[2];
char tmp2[3];
int num;
int i;
while (fgets(buf, sizeof(buf), stdin))
{
buf[strlen(buf)-1] = '\0';
/*
while (buf[strlen(buf)-1] == ' ')
buf[strlen(buf)-1] = '\0';
*/
for (i=strlen(buf)-1; i>=0; i--) {
if (buf[i] >= 48 && buf[i] <= 57) {
if (buf[i] == '1') {
tmp2[0] = buf[i--];
tmp2[1] = buf[i--];
tmp2[2] = buf[i];
num = atoi(tmp2);
} else {
tmp[0] = buf[i--];
tmp[1] = buf[i];
num = atoi(tmp);
}
printf("%c", num);
} else if ((buf[i] >= 65 && buf[i] <=90) ||
(buf[i]>=97 && buf[i]<=122) || buf[i] ==32 || buf[i]==33 ||
buf[i]==44 || buf[i]==46 || buf[i]==58 || buf[i]==59 || buf[i]==63)
{
if (buf[i] > 99)
printf("%d%d%d", buf[i]%10, buf[i]/10%10, buf[i]/10/10);
else
printf("%d%d", buf[i]%10, buf[i]/10);
}
}
printf("\n");
}
return 0;
}
Code: Select all
spy's message is at most 80 characters long,
Code: Select all
return (rev);
Code: Select all
if(len==3){
if(rev<10)printf("00");
else if(rev<100)printf("0");
}
else if(len==2){
if(rev<10)printf("0");
}