杭电oj 2719

 

  Tips:本程序没有什么难度,只要按照逻辑进行替换即可,需要注意的是,由于输入串中含有空格符号,所以不能使用scanf("%s",ch);来读取一串,可以使用gets()函数读取一行字符。

 1 #include<stdio.h>

 2 #include<string.h>

 3 int main()

 4 {

 5     char ch[80];

 6     while(gets(ch))//不能使用sacnf("%s,ch),因为遇见空格就会结束读入

 7     {

 8         if(*ch == '#')

 9         {

10             return 0;

11         }

12         char temp[240];

13         int j=0;

14         for(int i=0; i<strlen(ch);i++)

15         {

16             if(ch[i] == ' ')

17             {

18                 temp[j++] = '%';

19                 temp[j++] = '2';

20                 temp[j++] = '0';

21             }else if(ch[i] == '!')

22             {

23                 temp[j++] = '%';

24                 temp[j++] = '2';

25                 temp[j++] = '1';

26             }else if(ch[i] == '$')

27             {

28                 temp[j++] = '%';

29                 temp[j++] = '2';

30                 temp[j++] = '4';

31             }else if(ch[i] == '%')

32             {

33                 temp[j++] = '%';

34                 temp[j++] = '2';

35                 temp[j++] = '5';

36             }else  if(ch[i] == '(')

37             {

38                 temp[j++] = '%';

39                 temp[j++] = '2';

40                 temp[j++] = '8';

41             }else if(ch[i] == ')')

42             {

43                 temp[j++] = '%';

44                 temp[j++] = '2';

45                 temp[j++] = '9';

46             }else if(ch[i] == '*')

47             {

48                 temp[j++] = '%';

49                 temp[j++] = '2';

50                 temp[j++] = 'a';

51             }else

52             {

53                 temp[j++] = ch[i];

54             }

55 

56         }

57 

58         int i=0;

59         while(i<j)

60         {

61             printf("%c",temp[i]);

62             i++;

63         }

64 

65         printf("\n");

66     }

67     return 0;

68 }

 

你可能感兴趣的:(杭电)