Colección de citas famosas - Slogan de motivación - 4 preguntas sobre programación en lenguaje C

4 preguntas sobre programación en lenguaje C

/**Función de prueba:

*1 Hay una secuencia de fracciones 2/1, 3/2, 5/3, 8/5, 13/8, 21. /13 ...Escribe un programa para encontrar la suma de los primeros 20 términos de esta secuencia.

*2. Escribe un programa para determinar si un número entero positivo mayor o igual a 3 es un número primo.

*3. Escriba un programa para contar el número de letras, caracteres numéricos y otros caracteres en una línea de caracteres de entrada.

*4. Escriba un programa, C=1+1/X^1+1/X^2+1/X^3+……(X>1) hasta un determinado elemento A<=. 0.000001 vez,

*genera el último valor de C.

*Autor: pengs

*

*/

#include

#include < cmath>

usando el espacio de nombres std;

/*Implementar la primera función funcional*/

double mark_calc(int n)

{

doble a(1.0), b(2.0), suma(0),temp;

while (n > 0)

{

sum += b / a;

temp = b; /*Guarde b primero, luego cambie el valor de b y luego asígnelo a*/

b += a;

a = temp;

--n;

}

devolver suma;

}

/*Determina si un número entero es primo; si es así, devuelve verdadero*/

bool isPrime(const int n)

{

int num = n;

int tmp = (int)sqrt(n); /*Solo prueba a sqrt(n)*/

if ( num == 1 || num == 2)

devuelve verdadero;

for (int i = 2;i <= tmp; ++i)

if ( num % i == 0)

return false;

return true;

}

/*Implementar la tercera función Función* /

doble intSer(int x)

{

doble suma = 0;

doble tmp = 1.0 / x;

while (tmp > 0.00001)

{

suma +=tmp;

tmp /=x;

}

return suma

}

/*Función de cadena estadística*/

void print_n(const char *ch)

{

int dígito = 0;

int letra = 0;

int espacio_n = 0;

int other = 0;

cout << "Cadena original:" << ch << endl;

while (*ch != '\0')

{

if ((*ch >= 'a' && *ch <= 'z') || (*ch >= 'A' && *ch <= ' Z'))

++letra;

else if (*ch == ' ')

++space_n;

else if (*ch > = '0' && *ch <= '9')

++dígito;

más

++otro

r;

++ch;

}

cout << "El número de letras (a~z o A~Z) es: " << letra << "piezas" << endl;

cout << "El número de dígitos (0~9) es: " << dígito << "piezas" << endl;

cout << "El número de espacios es: " << space_n << "" << endl;

cout << "El número de otros caracteres es: " << other << " " << endl;

}

int main(int argc, char *argv[])

{

/* Introduzca un línea de caracteres de prueba*/

char *ch = new char[100];

cout << "Prueba de función de caracteres estadísticos: ingrese una línea de caracteres: " << endl ;

gets(ch);

print_n(ch);

eliminar []ch;

ch = NULL;

int num1(20);

cout << "Ingrese el número de elementos: n = " ;

cin >> num1; p> cout < < "2/1+3/2+5/3+...+La suma de los primeros 20 elementos es:" << mark_calc(num1) << endl;

int num2(10);

cout << "Por favor ingrese el valor de x: x = " ;

cin >> num2;

cout << " 1/x + 1/x*x + +(1/x^n <= 0.00001) y la suma es: " << intSer(num2) << endl;

int num3;

cout << "Por favor, introduzca un entero positivo: n = " ;

cin >> num3;

if (isPrime(num3))

cout << num3 << " ¡es un número primo! " << endl;

else

cout << num3 << " ¡No es un número primo! " << endl;

return 0;

}

/*Recomendaciones:

1. Se deben agregar algunas excepciones de entrada o manejo de errores

p>

2. Las condiciones de terminación que aparecen en el bucle deben ser Utilice representación de caracteres para facilitar la modificación;

3. El tiempo es limitado, por lo que se omiten algunas optimizaciones. (Fin)*/