首页 > 其他 > 详细

P 1016 部分A+B

时间:2020-01-06 11:05:18      阅读:88      评论:0      收藏:0      [点我收藏+]

转跳点:??

 

1016 部分A+B
 

正整数 A 的“D?A??(为 1 位整数)部分”定义为由 A 中所有 D?A?? 组成的新整数 P?A??。例如:给定 8,D?A??=6,则 A 的“6 部分”P?A?? 是 66,因为 A 中有 2 个 6。

现给定 A、D?A??、B、D?B??,请编写程序计算 P?A??+P?B??。

输入格式:

输入在一行中依次给出 A、D?A??、B、D?B??,中间以空格分隔,其中 0。

输出格式:

在一行中输出 P?A??+P?B?? 的值。

输入样例 1:

3862767 6 13530293 3
 

输出样例 1:

399
 

输入样例 2:

3862767 1 13530293 8
 

输出样例 2:

0
 
作者: CHEN, Yue
单位: 浙江大学
时间限制: 150 ms
内存限制: 64 MB

 

  终于有一道能流畅写完的题了,思路行云流水。这道题考察了字符串和字符的比较没什么难点。就是注意要初始化,还有就是要注意C语言不初始化的话所有变量的都是未知值。

这道题就直接贴代码了:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define MAXSIZE 1024
 4 
 5 int main(void)
 6 {
 7     int Num1 = 0, Num2 = 0;
 8     char Numchar1, Numchar2;
 9     char Numstr1[MAXSIZE], Numstr2[MAXSIZE];
10 
11     scanf("%s %c %s %c", Numstr1, &Numchar1, Numstr2, &Numchar2);
12 
13     for (int i = 0; \0 != Numstr1[i] || \0 != Numstr2[i]; i++)
14     {
15         if (Numstr1[i] == Numchar1)
16         {
17             Num1 *= 10;
18             Num1 += Numchar1 - 0;
19         }
20         if (Numstr2[i] == Numchar2)
21         {
22             Num2 *= 10;
23             Num2 += Numchar2 - 0;
24         }
25     }
26 
27     printf("%d", Num1 + Num2);
28 }

  PTA不易,诸君共勉!

P 1016 部分A+B

原文:https://www.cnblogs.com/daker-code/p/12155059.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!