Citar
Dado un número entero "x", contar la cantidad "c" de dígitos que lo forman. Ej: si c=343, entonces c=3; si x=-20, entonces c=2.
Lo que he hecho es lo siguiente:
Código
program cuentadigitos; var c,d: integer; x: real; begin writeln ('Para terminar ingrese "0"'); repeat c:=0; d:=0; readln (x); x:=x*10; repeat c:=c+1; x:=x / 10 until abs (x)<10; repeat d:=d+1; x:=x*10 until d=c; writeln ('El numero ',x,' esta formado por ',c,' digitos'); until x=0 end.
Pero tiene algunos defectos, primero, que "x" es real, en lugar de entero, y no es lo que pide el ejercicio, además la forma en que se muestran los reales en la consola es muy incómoda (si alguien sabe como quitar todos esos ceros le agradecería que me lo dijera

Si alguien sabe como solucionar alguno de estos problemas, me le voy a estar muy agradecido.
Saludetes.
PD.: Los estoy viendo! no se rían de mi código, les avisé que soy muy n00b xD