Diseñar un programa de simulación de calculadora simple en C
Nota: El siguiente programa no juzga la entrada incorrecta, por lo que la entrada debe estar estrictamente de acuerdo con el formato. El programa puede probar cualquier número de dígitos, sumas y multiplicaciones entre 111 dígitos y, por supuesto, Para. Al hacer cálculos más grandes, puede cambiar la matriz para que sea más grande. Por ejemplo, puede ingresar 1 2*2*2 2 3 2*3*4*5 2*2 para probar si el resultado es correcto. Además, este programa puede realizar cálculos de suma y multiplicación con cualquier número de dígitos. Por ejemplo, puede utilizar 1 1*1*1*1*1*1*1*1*2 3 para probar los resultados del cálculo.
void?main()
{
int?a[111]={0}, m[111]={0};?//a se utiliza para recibir el número de entrada, m se usa para calcular el resultado después de *
char?b[111] //Se usa para recibir y * caracteres.
int?i=0, j=0, k=0;?//Tres contadores
int?s=0;?//El resultado del cálculo se almacena en este número .
while(1)//Este bucle se utiliza para recibir números y caracteres de entrada.
{?
scanf("d",amp;a[i]);?//La matriz a recibe números, porque la matriz entera a no recibe caracteres, por lo que los caracteres Déjelo en la siguiente matriz de caracteres b para recibirlo.
scanf("c", amp; b[j]);?//La matriz b recibe caracteres
if(b[j-1]=='\n') ?break;?//Si la matriz b recibe un carácter de retorno de carro, significa que la entrada está completa
}
int?n=0;?//Esta variable parece no utilizarse.
for(int?j=0;jlt;i;j)?//Este bucle se utiliza para realizar operaciones de multiplicación y multiplicación continua
{
si (b[j]=='*'){m[k]=a[j]*a[j 1]; a[j]=0; a[j 1]=0; b [j] es la multiplicación, luego la multiplicación se calcula primero, es decir, los dos números para la multiplicación son a[j] y a[j 1]
while(1){// El siguiente bucle se usa para multiplicación continua
if(b[j 1]=='*'){--k;m[k]=m[k]*a[j 2];?a[j 2]=0; k ; j ; }?// Este cálculo es más complicado, piénselo usted mismo, se usa para calcular la multiplicación continua.
else?break;}
}
else?if(b[j 1]=='\n')break;
}
for(int?j=0;jlt;i;j)?//Esta operación se utiliza para la suma
s=s a[j] m[j] ;
printf("d\n", s);
system("pausa");
}?
Ejecutar Resultados, probados usando vs2005