Jmu PTA-ds-secuencia más larga de números (c versión)

Título original:

Una cadena de entrada, y la longitud de la buscan posición de la cadena más larga consecutiva inicio de la secuencia ocurre digital.

Formatos de entrada:

Introduzca una cadena, puede contener espacios.

Los formatos de salida:

contenido Emisión: la secuencia más larga de números de posición y la longitud de partida separado por un espacio. espacios finales de salida. entrada de cadena vacía, la salida "NULO"

de entrada de la muestra:

123ab12345a

Resultado de muestra: 

5 5

El código correcto es el siguiente: De hecho se puede hacer para conseguir una serie de simple y conveniente, pero quieren tomar la forma lineal practicado mano, entonces se puede,

Si compilador PTA lechón es C (GCC), entonces, una gran cantidad de cosas que no puede ser reconocido

#include <stdio.h>

#include <string.h>

# include <stdbool.h> // bool El compilador ni siquiera puede reconocer,

#define LISTSIZE 20000     

typedef Char DataType;

typedef struct {

    DataType datos [LISTSIZE]; // longitud representante de la matriz

    int nLength; // nLength indica la longitud de la forma lineal

SeqList};

initList vacío (SeqList * lista) {// función initialize es hacer que la longitud de la tabla es lineal 0

    lista-> nLongitud = 0; // ejecutar el puntero lista se libera en los apoyos

}

 

bool listEmpty (SeqList lista *) {// determina un indicador de la mesa lineal está vacía, pero no se puede utilizar de manera más eficiente puntero

    volver lista-> nLength == 0; // establecer la longitud de la mesa lineal recién definido como 0

}

 

inserto bool (lista SeqList *, int i, DataType x) {

    si (lista-> nLength == LISTSIZE) {// Si la longitud total de la matriz, a continuación, volver falsa

        falso retorno;

    }

    int insertPosition = i; // se proporciona en el punto i de inserción

    si (i <0) insertPosition = 0; // si la posición de inserción del elemento es menor que cero, lo puso en la mesa de la cabecera

    si (i> lista-> nLength-1) insertPosition = lista-> nLength; // Si i es mayor que el índice del último elemento de una forma lineal, lo puso en la cola, por supuesto, puede ser modificado en false

    for (int i = lista-> nLongitud-1; i> = insertPosition; i -) {// La misma atención aquí

        lista-> data [i + 1] = lista-> data [i];

    }

    lista-> data [insertPosition] = x;

    lista-> nLongitud ++;

    return true;   

}

 

int main () {

    l SeqList;    

int count = 0;

int COU = 0;

int a = 0;

    res int, localización;

    Char rec [20000];

    initList (& l); // mesa de construcción

    scanf ( "% s", y rec); // valor de dirección Nota scanf no puede transmitirse

    

mientras que (rec [a]! = '\ 0') {// Este es el fin de calcular los personajes reales de entrada desde el teclado, el número de

    COU ++;

    a ++;

    }

for (int i = 0; i <COU; i ++) {// obtener los datos del teclado en la tabla

    insertar (& l, i, rec [i]);    

    }    

    si (listEmpty (& l)) {// Nota aquí return 0;

    printf ( "NULL");

    return 0;

     }

    

for (int i = 0; i <COU; i ++) {

    si (l.data [i]> = '0' && l.data [i] <= '9') {// alejarse compararse directamente        

      contar ++; // en realidad una lógica de tres pasos y las matemáticas pregunta

     location = i + 1-count; // longitud recuento como un contador para calcular una secuencia de números, y el personaje aparece una vez, el valor de recuento será cero      

     res = cuentan; // Este paso es, de hecho, abierto a la pregunta, pero después de un lechón PTA

        }

        otra cosa count = 0;

}

 

printf ( "% d% d", la ubicación, res);               

return 0;   

      

}

 

Publicado cinco artículos originales · ganado elogios 0 · Vistas 30

Supongo que te gusta

Origin blog.csdn.net/weixin_44157472/article/details/104781111
Recomendado
Clasificación