разделите 4-значное целое число на 2-значное целое и вычислите c - PullRequest
0 голосов
/ 14 марта 2019

// Введите 4-значное целое число n с клавиатуры и напишите программу, чтобы разделить ее на два 2-значных целых числа a и B. Вычислить и вывести результаты операций сложения, вычитания, умножения, деления и избыточностиразделить два числа.Например, n = -4321, если два целых числа после разбиения - это a и b, то a = -43 и b = -21.Результат операции деления требует, чтобы он был точным с точностью до 2 десятичных знаков, а тип данных был плавающим.Операции резервирования и деления должны учитывать деление на 0, то есть, если разделение B = 0, затем вывести информацию с подсказкой «Второй оператор - ноль!»

// Неудача для прохождения теста, Как мне исправить

#include<stdio.h>
#include<math.h>

int main()
{
    int x, a, b;
    printf("Please input n:\n");
    scanf("%d", &x);
    a = x / 100;
    b = x % 100;
    printf("%d,%d\n", a, b);
    printf("sum=%d,sub=%d,multi=%d\n", a + b, a - b, a*b);
    if (b == 0)
        printf("The second operater is zero!");
    else
        printf("dev=%.2f,mod=%d\n", (float)a / b, a%b);
}

1 Ответ

1 голос
/ 14 марта 2019

Вы забыли проверить, что x является 4-значным числом. Таким образом, если ввод 12345 или 123, вы не удовлетворяете требованию.

#include <stdio.h>

int main()
{

    int x, a, b;
    int passed = 0;

    // Enter a 4 digits number: ABCD
    do {
        printf("Enter X = ");
        scanf("%d", &x);
        passed = (x >= 1000 && x <= 9999) || (x >= -9999 && x <= -1000);
    } while (!passed);

    a = x / 100;
    b = x % 100;

    printf("Numbers: %d %d \n", a, b);

    printf("Sum = %d \n", a + b);
    printf("Sub = %d \n", a - b);
    printf("Mul = %d \n", a * b);
    if (0 == b) {
        printf("Div by Zero \n");    
    } else {
        printf("Div = %f \n", (double)a / b);
        printf("Mod = %d \n", a % b);
    }

    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...