我正在嘗試編寫一個程序,它可以對字符串進行加,減,乘和除。我現在在程序中的地方是弄清楚如何將輸入字符串拆分爲兩個字符串,然後執行相應的+ -/*。在字符C上執行算術運算
輸入應該是這樣的ABC + AAA
和輸出應該是ABC + AAA = BCD
如何轉換字符串成整數,字符串?
#include <stdio.h>
#include <math.h>
#include <string.h>
int main() {
printf("This is a pseudo arithmetic program");
char input[10];
input[10] = '\0';
char first [9];
first[9] = '\0';
char last [9];
last[9] = '\0';
int i = 0;
int b;
int e;
while (input[0] != '0') {
if (input[0] == 0){
return -1;
}
printf("\nEnter a math problem in SOS format using only lowercase letters up to 9 characters");
printf("\nEx: abc+abc... type '0' to quit \n");
scanf("%s", input);
int x = 0;
x = strlen(input);
if (strchr(input, '+')){
for (i = 0; i <= x; i++) {
if (i == '+')
strncpy(first, &input[0], i-1);
i = 0;
}
for (i = x; i >= input[0]; i--) {
if (i == '+')
strncpy(last, &input[i], x);
i = 0;
}
printf("%s", first);
printf(" + ");
printf("%s", last);
printf(" = %d", first + last);
}
那麼輸入字符串是什麼基地呢?它看起來可能是基數26,其中a =(第一個非零值)?如果是這樣,零值是什麼?這可能是因爲我不知道SOS格式是什麼,而是愚蠢的,但Google似乎沒有幫助。 – Tommy
只需添加2個字符,然後減去字符''a''。 – nhahtdh
我不確定你的基數是什麼,但我相信a-z將等於0-25,而A-Z等於26-41。所以如果程序要解決這個問題,那麼答案應該是Z.我認爲根本不應該是零值。 – Church