Réponses aux exercices de conception du langage C de Tan Haoqiang (1)

Table des matières

Saisissez 10 nombres dans l’ordre et demandez d’afficher le plus grand nombre parmi eux.

Il existe trois nombres a, b, c, et ils doivent être affichés par ordre de taille.

Trouver 1+2+3+……100

Déterminer si un nombre n est divisible par 3 et par 5

Générer des nombres premiers entre 100 et 200


Saisissez 10 nombres dans l’ordre et demandez d’afficher le plus grand nombre parmi eux.


Voici un programme écrit en langage C pour saisir 10 nombres et trouver le maximum parmi eux :
 

#include <stdio.h>

int main() {
    int i;
    double numbers[10]; // 声明一个包含10个元素的数组,用于存储输入的数字

    // 输入10个数字
    printf("请输入10个数字:\n");
    for (i = 0; i < 10; i++) {
        printf("请输入第 %d 个数字:", i + 1);
        scanf("%lf", &numbers[i]);
    }

    // 初始化最大值为第一个数字
    double max = numbers[0];

    // 找出最大值
    for (i = 1; i < 10; i++) {
        if (numbers[i] > max) {
            max = numbers[i];
        }
    }

    // 输出最大值
    printf("最大的数是:%.2lf\n", max);

    return 0;
}

Ce code C vous demandera de saisir 10 chiffres, puis de trouver la valeur maximale parmi les nombres saisis et de l'imprimer à l'écran. Notez que j'utilise le spécificateur de format `%lf` pour lire l'entrée à virgule flottante.

Il existe trois nombres a, b, c, et ils doivent être affichés par ordre de taille.


Ce qui suit est un programme écrit en langage C pour générer trois nombres a, b, c par ordre de taille :
 

#include <stdio.h>

int main() {
    double a, b, c;

    // 输入三个数
    printf("请输入三个数:\n");
    printf("请输入第一个数:");
    scanf("%lf", &a);
    printf("请输入第二个数:");
    scanf("%lf", &b);
    printf("请输入第三个数:");
    scanf("%lf", &c);

    // 比较并按大小顺序输出
    if (a <= b && a <= c) {
        printf("按大小顺序输出:%.2lf, ", a);
        if (b <= c) {
            printf("%.2lf, %.2lf\n", b, c);
        } else {
            printf("%.2lf, %.2lf\n", c, b);
        }
    } else if (b <= a && b <= c) {
        printf("按大小顺序输出:%.2lf, ", b);
        if (a <= c) {
            printf("%.2lf, %.2lf\n", a, c);
        } else {
            printf("%.2lf, %.2lf\n", c, a);
        }
    } else {
        printf("按大小顺序输出:%.2lf, ", c);
        if (a <= b) {
            printf("%.2lf, %.2lf\n", a, b);
        } else {
            printf("%.2lf, %.2lf\n", b, a);
        }
    }

    return 0;
}

Ce programme vous demandera d'entrer trois nombres, puis il comparera les nombres et les affichera à l'écran par ordre croissant.

Trouver 1+2+3+……100


Pour calculer 1+2+3+...+100, vous pouvez écrire une boucle en langage C pour accumuler les nombres. Voici un exemple de programme :
 

#include <stdio.h>

int main() {
    int sum = 0;
    int i;

    for (i = 1; i <= 100; i++) {
        sum += i;
    }

    printf("1+2+3+...+100 = %d\n", sum);

    return 0;
}

Déterminer si un nombre n est divisible par 3 et par 5


Ce programme initialisera une variable « somme » à 0, puis utilisera une boucle « for » pour augmenter de 1 à 100, accumulant chaque nombre dans « somme ». Enfin, il imprime les résultats accumulés.

#include <stdio.h>

int main() {
    int n;

    // 输入待判断的数
    printf("请输入一个整数:");
    scanf("%d", &n);

    // 判断是否同时被3和5整除
    if (n % 3 == 0 && n % 5 == 0) {
        printf("%d 同时被3和5整除。\n", n);
    } else {
        printf("%d 不同时被3和5整除。\n", n);
    }

    return 0;
}

Générer des nombres premiers entre 100 et 200


Ce qui suit est un programme en langage C qui imprime tous les nombres premiers entre 100 et 200 :
 

#include <stdio.h>

// 函数用于判断一个数是否是素数
int isPrime(int num) {
    if (num <= 1) {
        return 0; // 1和负数不是素数
    }
    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return 0; // 如果能整除,则不是素数
        }
    }
    return 1; // 是素数
}

int main() {
    int lower = 100;
    int upper = 200;

    printf("100到200之间的素数有:\n");

    for (int num = lower; num <= upper; num++) {
        if (isPrime(num)) {
            printf("%d ", num);
        }
    }

    printf("\n");

    return 0;
}

Ce programme définit une fonction « isPrime », qui est utilisée pour déterminer si un nombre est premier. Il parcourt ensuite chaque nombre de 100 à 200 dans la fonction principale, appelle la fonction « isPrime » sur chaque nombre pour vérifier s'il s'agit d'un nombre premier et affiche le nombre premier à l'écran.

Trouver le plus grand diviseur commun de deux nombres m et n


Pour trouver le plus grand diviseur commun (PGCD) de deux nombres m et n, vous pouvez le calculer à l'aide de l'algorithme d'Euclide. Voici un exemple de programme en langage C :

#include <stdio.h>

// Fonction utilisée pour calculer le plus grand diviseur commun
int pgcd(int m, int n) {     if (n == 0) {         return m;     }     return pgcd(n, m % n); }




int main() {     int m, n;

    // Saisissez deux entiers
    printf("Veuillez saisir deux entiers m et n :");
    scanf("%d %d", &m, &n);

    // Appelez la fonction pgcd pour calculer le plus grand diviseur commun
    int result = gcd(m, n);

    //Résultat de sortie
    printf("Le plus grand diviseur commun est : %d\n", result);

    renvoie 0 ;
}

Ce programme demande d'abord à l'utilisateur de saisir deux entiers m et n, puis appelle une fonction appelée « pgcd » pour calculer leur plus grand diviseur commun et imprime le résultat à l'écran. La fonction `gcd` utilise la récursion pour calculer le plus grand diviseur commun jusqu'à ce que l'un des nombres devienne zéro, auquel cas l'autre nombre devient le plus grand diviseur commun.

Je suppose que tu aimes

Origine blog.csdn.net/qq_50942093/article/details/132952501
conseillé
Classement