Diez juegos de pruebas de programación en lenguaje C con la dificultad de actualizar de pregrado a pregrado:

Diez juegos de pruebas de programación en lenguaje C con la dificultad de actualizar de pregrado a pregrado:

Papel uno:

  1. Declare una matriz de enteros con una longitud de 5 y cada elemento de la matriz tenga un valor de 0. El requisito se implementa mediante un bucle for.
#include <stdio.h>

int main() {
    
    
    int a[5];
    int i;
    for (i = 0; i < 5; i++) {
    
    
        a[i] = 0;
    }
    for (i = 0; i < 5; i++) {
    
    
        printf("%d ", a[i]);
    }
    return 0;
}
  1. Defina una estructura denominada Person, que contenga dos miembros: name y age, cuyos tipos son char pointer y integer respectivamente. Cree una matriz de estructura de tipo Person con una longitud de 3, y luego ingrese y genere los valores de los miembros de cada estructura.
#include <stdio.h>
#include <string.h>
#include <cstdlib>

struct Person {
    
    
    char *name;
    int age;
};

int main() {
    
    
    struct Person p[3];
    int i;
    for (i = 0; i < 3; i++) {
    
    
        p[i].name = (char *) malloc(20 * sizeof(char));
        scanf("%s %d", p[i].name, &p[i].age);
    }
    for (i = 0; i < 3; i++) {
    
    
        printf("%s %d", p[i].name, p[i].age);
    }
}
  1. Defina una función llamada swap, que tenga dos parámetros enteros a y b para intercambiar los valores de a y b. Ingrese dos enteros en la función principal y llame a esta función para intercambiar sus valores, y finalmente emita los dos enteros intercambiados.
#include <stdio.h>

void swap(int *a, int *b) {
    
    
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {
    
    
    int a, b;
    scanf("%d %d", &a, &b);
    swap(&a, &b);
    printf("%d %d", a, b);
    return 0;
}

Papel dos:

  1. Defina una estructura denominada Libro, que contiene tres miembros: id, título y precio, cuyos tipos son entero, cadena y punto flotante respectivamente. Cree una variable de estructura de tipo Libro y luego ingrese cada valor de miembro y envíelo.
#include <stdio.h>
#include <string.h>
#include <cstdlib>

struct Book {
    
    
    int id;
    char *title;
    float price;
};

int main() {
    
    
    struct Book b;
    b.title = (char *) malloc(20 * sizeof(char));
    scanf("%d %s %f", &b.id, b.title, &b.price);
    printf("%d %s %f", b.id, b.title, b.price);
    return 0;
}
  1. Escribe una función para calcular el factorial. El nombre de la función es fact, tiene un parámetro entero n, y el valor de retorno es el factorial de n. Ingrese un número entero en la función principal y llame a esta función para calcular su factorial, y finalmente envíe el resultado.
#include <stdio.h>

int fact(int n) {
    
    
    int i;
    int result = 1;
    for (i = 1; i <= n; i++) {
    
    
        result *= i;
    }
    return result;
}

int main() {
    
    
    int n;
    scanf("%d", &n);
    printf("%d", fact(n));
    return 0;
}
  1. Escriba un programa que tome un entero de tres dígitos como entrada, invierta los dígitos del número y lo emita. Por ejemplo, entrada 123, salida 321.
#include <stdio.h>

int main() {
    
    
    int n;
    scanf("%d", &n);
    printf("%d", n % 10 * 100 + n / 10 % 10 * 10 + n / 100);
    return 0;
}

Papel tres:

  1. Defina una estructura llamada Rectangle, que contiene dos miembros: ancho y alto, y los tipos son enteros. Cree una variable de estructura de tipo Rectangle y luego ingrese los valores de sus miembros y la salida.
#include <stdio.h>
#include <string.h>
#include <cstdlib>

struct Rectangle {
    
    
    int width;
    int height;
};

int main() {
    
    
    struct Rectangle r;
    scanf("%d %d", &r.width, &r.height);
    printf("%d %d", r.width, r.height);
    return 0;
}
  1. Escriba un programa que tome dos enteros como entrada y genere su suma, diferencia, producto y cociente.
#include <stdio.h>

int main() {
    
    
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d %d %d %d", a + b, a - b, a * b, a / b);
    return 0;
}
  1. Defina una función, el nombre de la función es max, hay dos parámetros enteros a y b, y el valor de retorno es el mayor de a y b. Luego ingrese dos números enteros en la función principal y llame a esta función para encontrar su valor máximo y finalmente emita el resultado.
#include <stdio.h>

int max(int a, int b) {
    
    
    return a > b ? a : b;
}

int main() {
    
    
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", max(a, b));
    return 0;
}

Papel cuatro:

  1. Escriba un programa, ingrese tres números enteros a, b y c, juzgue si pueden formar un triángulo, si es así, emita el perímetro y el área, de lo contrario, emita "no se puede formar un triángulo".
#include <stdio.h>
#include <math.h>

int main() {
    
    
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    if (a + b > c && a + c > b && b + c > a) {
    
    
        printf("%f %f", a + b + c,
               sqrt((a + b + c) / 2 * ((a + b + c) / 2 - a) * ((a + b + c) / 2 - b) * ((a + b + c) / 2 - c)));
    } else {
    
    
        printf("无法构成三角形");
    }
    return 0;
}
  1. Defina una estructura denominada Person, que contenga dos miembros: name y age, cuyos tipos son char pointer y integer respectivamente. Cree un puntero de estructura de tipo Persona y luego ingrese y emita los valores de los miembros de la estructura.
#include <stdio.h>
#include <string.h>
#include <cstdlib>

struct Person {
    
    
    char *name;
    int age;
};

int main() {
    
    
    struct Person *p = (struct Person *) malloc(sizeof(struct Person));
    p->name = (char *) malloc(20 * sizeof(char));
    scanf("%s %d", p->name, &p->age);
    printf("%s %d", p->name, p->age);
    return 0;
}
  1. Escriba una función para calcular el valor promedio, el nombre de la función es promedio, tiene dos parámetros reales a y b, y el valor de retorno es el valor promedio de a y b. Ingrese dos números reales en la función principal y llame a esta función para calcular su valor promedio y finalmente emita el resultado.
#include <stdio.h>

float average(float a, float b) {
    
    
    return (a + b) / 2;
}

int main() {
    
    
    float a, b;
    scanf("%f %f", &a, &b);
    printf("%f", average(a, b));
    return 0;
}

Papel cinco:

  1. Defina una estructura denominada Student, que contenga tres miembros: name, score y grade, cuyos tipos son char pointer, integer y char respectivamente. Cree una matriz de estructura de tipo Estudiante con una longitud de 3, y luego ingrese y emita los valores de los miembros de cada estructura.
#include <stdio.h>
#include <string.h>
#include <cstdlib>

struct Student {
    
    
    char *name;
    int score;
    char grade;
};

int main() {
    
    
    struct Student s[3];
    int i;
    for (i = 0; i < 3; i++) {
    
    
        s[i].name = (char *) malloc(20 * sizeof(char));
        scanf("%s %d %c", s[i].name, &s[i].score, &s[i].grade);
    }
    for (i = 0; i < 3; i++) {
    
    
        printf("%s %d %c", s[i].name, s[i].score, s[i].grade);
    }
    return 0;
}
  1. Escriba un programa que ingrese un entero n y genere la suma de todos los números pares e impares del 1 al n.
#include <stdio.h>

int main() {
    
    
    int n, i, sum1 = 0, sum2 = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
    
    
        if (i % 2 == 0) {
    
    
            sum1 += i;
        } else {
    
    
            sum2 += i;
        }
    }
    printf("%d %d", sum1, sum2);
    return 0;
}
  1. Escriba un programa que ingrese dos cadenas s1 y s2 y juzgue si son iguales, y emita "igual" si son iguales, de lo contrario, emita "no igual".
#include <stdio.h>
#include <string.h>

int main() {
    
    
    char s1[20], s2[20];
    scanf("%s %s", s1, s2);
    if (strcmp(s1, s2) == 0) {
    
    
        printf("相等");
    } else {
    
    
        printf("不相等");
    }
    return 0;
}

Papel seis:

  1. Defina una estructura denominada Punto, que contiene dos miembros: x e y, y los tipos son reales respectivamente. Cree una matriz de estructura de tipo Point con una longitud de 4, y luego ingrese y emita los valores de los miembros de cada estructura.
#include <stdio.h>
#include <string.h>
#include <cstdlib>

struct Point {
    
    
    float x;
    float y;
};


int main() {
    
    
    struct Point p[4];
    int i;
    for (i = 0; i < 4; i++) {
    
    
        scanf("%f %f", &p[i].x, &p[i].y);
    }
    for (i = 0; i < 4; i++) {
    
    
        printf("%f %f", p[i].x, p[i].y);
    }
    return 0;
}
  1. Escriba un programa que tome como entrada un entero positivo n y produzca todos sus factores primos.
#include <stdio.h>

int main() {
    
    
    int n, i;
    scanf("%d", &n);
    for (i = 2; i <= n; i++) {
    
    
        while (n % i == 0) {
    
    
            printf("%d ", i);
            n /= i;
        }
    }
    return 0;
}
  1. Defina una función, el nombre de la función es potencia, hay dos parámetros reales base y exp, y el valor de retorno es la potencia exp de la base. Ingrese dos números reales en la función principal y llame a esta función para calcular su producto, y finalmente emita el resultado.
#include <stdio.h>
#include <math.h>

float power(float base, float exp) {
    
    
    return pow(base, exp);
}

int main() {
    
    
    float base, exp;
    scanf("%f %f", &base, &exp);
    printf("%f", power(base, exp));
    return 0;
}

Papel siete:

  1. Escriba un programa, ingrese un año, juzgue si es un año bisiesto, si es así, la salida "es un año bisiesto", de lo contrario, la salida "no es un año bisiesto".
#include <stdio.h>

int main() {
    
    
    int year;
    scanf("%d", &year);
    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    
    
        printf("是闰年");
    } else {
    
    
        printf("不是闰年");
    }
    return 0;
}
  1. Escriba un programa, ingrese un número entero n, juzgue si es un palíndromo, si es así, emita "es un palíndromo", de lo contrario, emita "no es un palíndromo". Por ejemplo, 121 es un palíndromo, 123 no es un palíndromo.
#include <stdio.h>

int  main(){
    
    
    int n, m, sum = 0;
    scanf("%d", &n);
    m = n;
    while (m != 0) {
    
    
        sum = sum * 10 + m % 10;
        m /= 10;
    }
    if (sum == n) {
    
    
        printf("是回文数");
    } else {
    
    
        printf("不是回文数");
    }
    return 0;
}
  1. Defina una función denominada factorial que tenga un parámetro entero n y devuelva el factorial de n. Implemente la función usando recursividad. Ingrese un número entero en la función principal y llame a esta función para calcular su factorial, y finalmente envíe el resultado.
#include <stdio.h>

int  factorial(int n){
    
    
    if (n == 1) {
    
    
        return 1;
    } else {
    
    
        return n * factorial(n - 1);
    }
}

int main() {
    
    
    int n;
    scanf("%d", &n);
    printf("%d", factorial(n));
    return 0;
}

Papel Ocho:

  1. Defina una estructura llamada Complex, que contiene dos miembros: real e imag, y los tipos son reales respectivamente. Cree una variable de estructura de tipo Complejo y luego ingrese los valores de sus miembros y la salida.
#include <stdio.h>

struct Complex {
    
    
    float real;
    float imag;
};

int main() {
    
    
    struct Complex c;
    scanf("%f %f", &c.real, &c.imag);
    printf("%f %f", c.real, c.imag);
    return 0;
}
  1. Escriba un programa que ingrese un entero positivo n, encuentre su divisor y lo emita.
#include <stdio.h>

int main() {
    
    
    int n, i, count = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
    
    
        if (n % i == 0) {
    
    
            count++;
        }
    }
    printf("%d", count);
    return 0;
}
  1. Escriba un programa que ingrese la denominación y la cantidad de una tarjeta, calcule y emita la cantidad total.
#include <stdio.h>

int main() {
    
    
    int n, i;
    float sum = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
    
    
        float value;
        int count;
        scanf("%f %d", &value, &count);
        sum += value * count;
    }
    printf("%f", sum);
    return 0;
}

Papel Nueve:

  1. Escriba un programa que tome una cadena s como entrada, la invierta y la emita.
#include <stdio.h>
#include <string.h>

int main() {
    
    
    char s[100];
    scanf("%s", s);
    int i, j;
    for (i = 0, j = strlen(s) - 1; i < j; i++, j--) {
    
    
        char temp = s[i];
        s[i] = s[j];
        s[j] = temp;
    }
    printf("%s", s);
    return 0;
}
  1. Defina una función, el nombre de la función es primo, hay un parámetro entero n y el valor devuelto es si n es un número primo. Ingrese un número entero en la función principal y llame a esta función para juzgar si es un número primo y, finalmente, generar el resultado.
#include <stdio.h>

int prime(int n) {
    
    
    int i;
    for (i = 2; i < n; i++) {
    
    
        if (n % i == 0) {
    
    
            return 0;
        }
    }
    return 1;
}

int main() {
    
    
    int n;
    scanf("%d", &n);
    if (prime(n)) {
    
    
        printf("是素数");
    } else {
    
    
        printf("不是素数");
    }
    return 0;
}
  1. Defina una función llamada mcd, que tenga dos parámetros enteros a y b, y devuelva el máximo común divisor de a y b. Luego ingrese dos enteros en la función principal y llame a esta función para encontrar su máximo común divisor, y finalmente emita el resultado.
#include <stdio.h>

int gcd(int a, int b) {
    
    
    int i;
    for (i = a; i > 0; i--) {
    
    
        if (a % i == 0 && b % i == 0) {
    
    
            return i;
        }
    }
}

int main() {
    
    
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", gcd(a, b));
    return 0;
}

Papel diez:

  1. Escriba un programa que ingrese una cadena s y un carácter c, cuente el número de ocurrencias del carácter c en la cadena s y lo emita.
#include <stdio.h>

int main(){
    
    
    char s[100], c;
    scanf("%s %c", s, &c);
    int i, count = 0;
    for (i = 0; s[i] != '\0'; i++) {
    
    
        if (s[i] == c) {
    
    
            count++;
        }
    }
    printf("%d", count);
    return 0;
}
  1. Defina una estructura denominada Círculo, que contiene un miembro: radio, cuyo tipo es real. Cree un puntero de estructura del tipo Círculo y luego ingrese y emita los valores de los miembros de la estructura.
#include <stdio.h>

struct Circle {
    
    
    float radius;
};

int main() {
    
    
    struct Circle *c;
    scanf("%f", &c->radius);
    printf("%f", c->radius);
    return 0;
}
  1. Defina una función, el nombre de la función es inverso, hay un parámetro entero n y el valor devuelto es el valor invertido de cada dígito de n. Ingrese un número entero en la función principal y llame a esta función para calcular su valor invertido, y finalmente emita el resultado.
#include <stdio.h>

int reverse(int n) {
    
    
    int sum = 0;
    while (n != 0) {
    
    
        sum = sum * 10 + n % 10;
        n /= 10;
    }
    return sum;
}

int main() {
    
    
    int n;
    scanf("%d", &n);
    printf("%d", reverse(n));
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_43596041/article/details/129806097
Recomendado
Clasificación