Codeup cementerio - Problemas H: Parte A + B (15)

título Descripción

Un número entero positivo de "DA (como un número entero) parte" se define como un número entero de PA Un nuevo todo DA de los mismos. Por ejemplo: Dada A = 3862767, DA = 6, a continuación, "sección 6" PA 66 A es, porque hay 2 A 6.

Ahora bien, dada A, DA, B, DB, escribir un programa para calcular PA + PB.

entrada

En la línea de entrada dado son secuencialmente A, DA, B, DB, separadas por un espacio intermedio, en donde 0 <A, B <1,010.

exportación

valor de salida PA + PB en una fila.

entrada de la muestra

3862767 6 13530293 3 
3862767 1 13530293 8

Ejemplo de salida

399 
0
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
    char a[12],b[12];
    int c,d;
    while(scanf("%s %d %s %d",a,&c,b,&d)!=EOF)   //输入四部分
    {
        int aa[12],j=0,k=0,sum=0,bb[12];       //aa[12],bb[12]得到对应于c,d的数字
        for(int i=0; i<strlen(a); i++)
        {
            if(a[i]-48==c)     //判断字符数字与数字是否相等
            {
                aa[j]=c;
                j++;
            }
        }
        for(int i=0; i<strlen(b); i++)
        {
            if(b[i]-48==d)
            {
                bb[k]=d;
                k++;
            }
        }
        j--;   //j为aa[12]中对应个数
        k--;   //k为bb[12]中对应个数
        for(int i=j; i>=0; i--)
            sum+=aa[i]*(int)(pow(10,j-i)+0.5);   //pow涉及精度问题
        for(int i=k; i>=0; i--)
        {
            sum+=bb[i]*(int)(pow(10,k-i)+0.5);
        }
        printf("%d\n",sum);   //输出总和
    }
    return 0;
}

El resultado:

Publicados 462 artículos originales · ganado elogios 55 · vistas 320 000 +

Supongo que te gusta

Origin blog.csdn.net/LY_624/article/details/88762818
Recomendado
Clasificación