P 1016 部分A+B

转跳点:🐏

 

1016 部分A+B
 

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

现给定 A、DA​​、B、DB​​,请编写程序计算 PA​​+PB​​。

输入格式:

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

输出格式:

在一行中输出 PA​​+PB​​ 的值。

输入样例 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不易,诸君共勉!

posted @ 2020-01-06 10:23  秦_殇  阅读(155)  评论(0编辑  收藏  举报