2. A+B (I)

男娘i 2022-04-04 07:17 317阅读 0赞

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTIwNzE3NQ_size_16_color_FFFFFF_t_70

  1. #include "stdio.h"
  2. #include "string.h"
  3. int main(int argc, char const *argv[])
  4. {
  5. int n;
  6. scanf("%d",&n);
  7. getchar();
  8. for(int i = 0; i < n; i++)
  9. {
  10. char a[100005] = {'\0'}, b[100005] = {'\0'}, c[100005] = {'\0'};
  11. scanf("%s",a);
  12. scanf("%s",b);
  13. long la = strlen(a), lb = strlen(b), p = 0, jinwei = 0;
  14. do
  15. {
  16. if(a[la - p - 1] == '1' && b[lb - p - 1] == '1')
  17. {
  18. if(jinwei == 1)
  19. {
  20. c[100004 - p] = '1';
  21. jinwei = 1;
  22. }
  23. else
  24. {
  25. c[100004 - p] = '0';
  26. jinwei = 1;
  27. }
  28. }
  29. else if(a[la - p - 1] != b[lb - p - 1])
  30. {
  31. if(jinwei == 0)
  32. {
  33. c[100004 - p] = '1';
  34. jinwei = 0;
  35. }
  36. else
  37. {
  38. c[100004 - p] = '0';
  39. jinwei = 1;
  40. }
  41. }
  42. else
  43. {
  44. if(jinwei == 0)
  45. {
  46. c[100004 - p] = '0';
  47. jinwei = 0;
  48. }
  49. else
  50. {
  51. c[100004 - p] = '1';
  52. jinwei = 0;
  53. }
  54. }
  55. p++;
  56. }while(la-p-1>=0 && lb-p-1>=0);
  57. if(la-p-1 < 0 && lb-p-1 >= 0)
  58. {
  59. do
  60. {
  61. if(b[lb - p - 1] == '0')
  62. {
  63. if(jinwei == 1)
  64. {
  65. c[100004 - p] = '1';
  66. jinwei = 0;
  67. }
  68. else
  69. {
  70. c[100004 - p] = '0';
  71. jinwei = 0;
  72. }
  73. }
  74. else if(b[lb - p - 1] == '1')
  75. {
  76. if(jinwei == 1)
  77. {
  78. c[100004 - p] = '0';
  79. jinwei = 1;
  80. }
  81. else
  82. {
  83. c[100004 - p] = '1';
  84. jinwei = 0;
  85. }
  86. }
  87. p++;
  88. }while(lb-p-1 >= 0);
  89. if(jinwei == 1) c[100004 - p] = '1';
  90. }
  91. else if(lb-p-1 < 0 && la-p-1 >= 0)
  92. {
  93. do
  94. {
  95. if(a[la - p - 1] == '0')
  96. {
  97. if(jinwei == 1)
  98. {
  99. c[100004 - p] = '1';
  100. jinwei = 0;
  101. }
  102. else
  103. {
  104. c[100004 - p] = '0';
  105. jinwei = 0;
  106. }
  107. }
  108. else if(a[la - p - 1] == '1')
  109. {
  110. if(jinwei == 1)
  111. {
  112. c[100004 - p] = '0';
  113. jinwei = 1;
  114. }
  115. else
  116. {
  117. c[100004 - p] = '1';
  118. jinwei = 0;
  119. }
  120. }
  121. p++;
  122. }while(la-p-1 >= 0);
  123. if(jinwei == 1) c[100004 - p] = '1';
  124. }
  125. else
  126. {
  127. if(jinwei == 1)
  128. {
  129. c[100004 - p] = '1';
  130. }
  131. }
  132. long f = 0; //µÚÒ»ÅÅ
  133. for(long k = 0; k < 100005; k++)
  134. {
  135. if(c[k] != '\0') f++;
  136. }
  137. long t = f + 2;//1
  138. for(long i = 0; i < t-la; i++)
  139. {
  140. putchar(' ');
  141. }
  142. puts(a);
  143. putchar('+');//2
  144. for(long i = 0; i < t-lb-1; i++)
  145. {
  146. putchar(' ');
  147. }
  148. puts(b);
  149. for(long n = 0; n < t; n++) putchar('-');//3
  150. putchar('\n');
  151. for(long n = 0; n<2; n++) putchar(' ');
  152. for(long k = 0; k < 100005; k++)
  153. {
  154. if(c[k] != '\0') putchar(c[k]);
  155. }
  156. putchar('\n');
  157. }
  158. return 0;
  159. }

发表评论

表情:
评论列表 (有 0 条评论,317人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java i 2_JAVA I/O--(2)

    获取文件的属性信息 概述:主要介绍如何获取文件的属性信息,包括文件的文件名、文件所在的目录、文件是否可读、是否可写、文件大小以及最后修改时间等。 关键技术部析: 通过ja

    相关 AB fft

    A\B fft [P1919 【模板】A\B Problem升级版(FFT快速傅里叶) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)][P1919 _

    相关 I2C协议

    1.硬件连接:  只用两根信号线,SDA,SCL.极大的方面了设计者和厂商。每个器件可以使用独立电源但是必须共地 几个信号: ①总线空闲状态 SDA和SCL两条信号线

    相关 AB test

    前言 -------------------- AB test 在实际工作中,A/B test是产品改动时常用到的手段。 为同一目标,制定两种方案,在相同时间维

    相关 I2C协议

    一、概述 IIC总线是由PHILIPS公司开发的两线式串行总线,用于连接微处理器和外部IIC设备。起初专用于音频和视频,现在在各个电子设备中都有使用。 1、II

    相关 I2C 概述

    初见到I2C时,并不知道这到底是个什么东东。因为以前见到过a2i之类的字符和数据之间转换的函数,所以,也把I2C想成这一类了,还以为它是将整型数据转换成字符呢(呵呵,诸位见笑了

    相关 ab测试

    在phpstudy的apache目录下,进去bin目录,有自带的ab.exe程序,就是用来做ab测试的,用法如下: ![1033667-20181122134333372-1