Preguntas de programación en lenguaje C, problema de configuración de simetría del código interno.
#includelt;iostreamgt;
#includelt;stdio.hgt;
usando el espacio de nombres std;
int panduan(char * s )
{
int i, flag=true;
// Como sabemos que 32 es un número entero, a veces los parámetros pueden ser constantes (como ilt; 16 )
for(i=0;ilt;16;i )
{
si(s[i]!=s[31- i])
{
flag=false;
break; // Si se conoce la asimetría, el bucle puede salir temprano
} p>
}
bandera de retorno;
}
int main()
{
int a;
int counter=0;
// ¡Existe una diferencia entre cingt; a y scanf("d", amp; a)! =EOF
// Cuando a=-1, el primero pensará que es el final del archivo, pero el segundo no
while(scanf("d", amp ; a) != EOF)
{
char s[32];
for(int i=0; ilt; 32; i) p>
{
s[i]=a2; // Es mejor usar aamp 1, pensando que las operaciones de bits son más rápidas que las operaciones de módulo
a gt; gt; = 1; // a=a/2 no se puede usar aquí, si a es un número negativo, el bit de signo 1 no se moverá debido a la operación de división
}
if(panduan(s)==1)
contador
}
coutlt;lt;counterlt;lt;endl;
devuelve 0;
}