C代写:CS101 Binary Arithmetic

Requirement

In this request, you should write a program that allows the user to perform simple arithmetic in binary. Upon starting, the program should tell the user that it is a binary math program, along with brief instructions on how to use the program.

The program should then enter a loop, where it gives a prompt, such as “input>”. Upon receiving input from the user, the program should process it, report the output result (or error), and loop back to the prompt. This should continue until the user gives the keyphrase to exit the program (keyphrase is your choice, good choices are “quit”, “end”, “exit”, etc.).

For example:

1
2
3
4
Input> 101+1100
10001
Input> 111001-1010
101111

Analysis

Binary arithmetic, 也就是二进制算法,是程序设计的基础。本题需要实现一个可交互的程序,根据用户输入,实现二进制算法,如二进制加法、二进制减法等。
本题难度不大,注意输入的数据类型是char,需要拆分后转换为int,以及keyphrase关键响应符号的处理逻辑即可。

Tip

下面是处理用户交互部分的实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int main(int argc, char *argv[]) {
char input[100];
char *keyphrase = "quit";
char *add = "+";
char *sub = "-";
char *mul = "*";
char *div = "/";
while (1) {
printf("input> ");
scanf("%s", input);
if (strncmp(input, keyphrase, strlen(keyphrase)) == 0) {
return 0;
}
if (strstr(input, add) != NULL) {
binary_add(input);
}
if (strstr(input, sub) != NULL) {
binary_sub(input);
}
if (strstr(input, mul) != NULL) {
binary_mul(input);
}
if (strstr(input, div) != NULL) {
binary_div(input);
}
}
return 0;
}