Red de conocimiento informático - Conocimiento de la instalación - Hacer una pregunta sobre programación en lenguaje C++ o C

Hacer una pregunta sobre programación en lenguaje C++ o C

Según tu pregunta (escrita en lenguaje C):

1.

2. El número de niveles de recursividad corresponde al número de dígitos matemáticos.

Mi función personalizada int checkNum(int num, int w) es del tipo que desea.

Su función es determinar si el número num es un número de w dígitos, y devolver 1 si lo es y 0 si no lo es.

w controla el número de niveles de recursividad. Genera un número entero de 1 an según el número de dígitos.

#include

int checkNum(int num,int w);//Utiliza la recursividad para determinar si el número num es un número de w dígitos

int getW(int num);//Obtener el número de dígitos del número

int main()

{

int i, n,flag,num= 1,mW=0;//mW: el número máximo de dígitos del 1 al n

printf("Ingrese un número n:");

scanf("%d",&n );

mW=getW(n);

printf("Los números enteros del 1 al %d son:\n",n);

for( i=1;i<=mW;i++)// Salida secuencial de 1 dígito a mW dígitos

{

printf("-- ----% d dígitos-------\n",i);

mientras(1)

{

if(núm >n)

romper;

if((flag=checkNum(num,i)))

printf("%d\n",num) ;

if(!flag)

romper;

num++;

}

if(num> n)

romper;

}

retorno 1;

}

int getW(int num) //Obtener el número de dígitos

{

int n=1;

while(1)

{

num =num/10;

si(num==0)

devuelve n;

n++;

}

return 1;

}

int checkNum(int num,int w)//Usa la recursividad para determinar si el número num es un dígito w número

{

num=num/10;

if(--w && num>0)

devolver checkNum(num ,w);

if(w==0 && num==0)

devuelve 1;

if(w==0 && num>0 )

devuelve 0;

devuelve 0;

}