将算术表达式应用于用户在C中提供的2个二进制数的最佳方法是什么?

时间:2013-09-25 00:54:11

标签: c math binary

我正在编写一个程序,接受来自用户的2个二进制数字。然后用户选择算术表达式(+ - / *%)以应用于数字。我有一般的输入代码,但我不知道下一步该去哪里。我是C语言的新手。这是我到目前为止所拥有的。

#include <stdio.h>

int main(){

int number1, number2;
char expression;

//Basic instructions at the beginning of the program
printf("This is a program to execute arithmetic in binary.\n");
printf("The program will ask you for input in the form of two binary numbers separated byan arithmetic expression (+ - / * %).\n");
printf("The binary numbers must be only 1's and 0's and a maximum of seven digits.\n");
printf("You may exit the program by typing 'exit'.\n");

//Obviously an incomplete do statement, need a loop
do  {
//Getting input from the user
    printf("\nEnter first binary number: ");
    scanf("%d", &number1);
    printf("Enter second number: ");
    scanf("%d", &number2);
    printf("Which expression would you like (+ - / * %): ");
    scanf("%c", &expression);   
    }

}

1 个答案:

答案 0 :(得分:0)

由于expressionchar(而不是char[]),您可以使用switch - case

int result;
switch(expression){
    case '+':
        result=number1+number2;
        break;
    case '-':
        result=number1-number2;
        break;
    case '*':
        result=number1*number2;
        break;
    case '/':
        result=number1/number2;
        break;
}

如果用户输入了无效的运算符,您可能还需要添加default