• “第六十二天”


    新东西  %[^\n] 

     这个题测试的时候不知道哪里为什么一直错一个。

    1. int main()
    2. {
    3. char a[81] = { 0 };
    4. fgets(a, 80, stdin);
    5. int i = 0;
    6. int n = strlen(a);
    7. for(i=0;i<n;i++)
    8. {
    9. if ((a[i] >= 'a' && a[i] <= 'y') || (a[i] >= 'A' && a[i] <= 'Y'))
    10. a[i] += 1;
    11. else if (a[i] == 'z')
    12. a[i] = 'a';
    13. else if (a[i] == 'Z')
    14. a[i] = 'A';
    15. }
    16. puts(a);
    17. return 0;
    18. }

    这个题就提到了我上次提到的,对于这种周期性循环,可以用模求余的方式控制,

    那个加21 实际上是-5+26,为了保证A~E的对应正确。

    1. int main()
    2. {
    3. char a[201] = { 0 };
    4. gets(a);
    5. int i = 0;
    6. int n = strlen(a);
    7. for (i = 0; i < n; i++)
    8. {
    9. if(a[i]>='A'&&a[i]<='Z')
    10. a[i] = (a[i] - 'A' + 21) % 26 + 'A';
    11. }
    12. puts(a);
    13. return 0;
    14. }

     信息有点多,今天写的还是比较麻烦的,就是分别实现每个要求,然后最后打印

    1. #include<string.h>
    2. int main()
    3. {
    4. char a[101] = { 0 }, b[101] = { 0 }, c[101] = { 0 };
    5. scanf("%s %s %s", a, b, c);
    6. int na = strlen(a), nc = strlen(c);
    7. char d[26] = { 0 };
    8. int i = 0;
    9. for (i = 0; i < na; i++)
    10. {
    11. for(int j=0;j<26;j++)
    12. {
    13. if (b[i] == j + 'A')
    14. {
    15. d[j]++; break;
    16. }
    17. }
    18. }
    19. //第二个条件
    20. for(i=0;i<26;i++)
    21. {
    22. if (d[i] == 0)
    23. {
    24. printf("Failed\n"); return 0;
    25. }
    26. }
    27. char m = 0;
    28. for (i = 0; i < na; i++)
    29. {
    30. int flag = 0;
    31. m = a[i];
    32. char x = 0;
    33. for (int j = 0; j < na; j++)
    34. {
    35. if (a[j] == m && x != b[j])
    36. {
    37. x = b[j];
    38. flag++;
    39. }
    40. }
    41. if (flag > 1)
    42. {
    43. printf("Failed\n"); return 0;
    44. }
    45. }
    46. for (i = 0; i < na; i++)
    47. {
    48. int flag = 0;
    49. m = b[i];
    50. char x = 0;
    51. for (int j = 0; j < na; j++)
    52. {
    53. if (b[j] == m && x != a[j])
    54. {
    55. x = a[j];
    56. flag++;
    57. }
    58. }
    59. if (flag > 1)
    60. {
    61. printf("Failed\n"); return 0;
    62. }
    63. }
    64. for (i = 0; i < nc; i++)
    65. {
    66. for (int j = 0; j < na; j++)
    67. {
    68. if (c[i] == a[j])
    69. {
    70. c[i] = b[j]; break;
    71. }
    72. }
    73. }
    74. puts(c);
    75. return 0;
    76. }

  • 相关阅读:
    Linux 任务进程命令练习
    【附源码】计算机毕业设计JAVA家装建材网
    Dialog组件
    Pikachu漏洞练习平台之SSRF(服务器端请求伪造)
    Unix Network Programming Episode 57
    csp202009-1称检测点查询(java实现)
    Android反编译apk
    Java面试题之Java的IO
    初识MySQL
    源码必须会丨一个bug的解决过程,让你明白阅读源码的重要性!
  • 原文地址:https://blog.csdn.net/hh12137/article/details/134255297