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;
}