#define _CRT_SECURE_NO_WARNINGS
#include <cstdlib>
#include <stdio.h>
#include <string.h>
int main()
{
float a, b, c;
char str[100]; //输入的字符串
char preStr[100];//运算符前的字符串
char endStr[100];//运算符后面的字符串
//scanf("%f%c%f", &a, &x, &b);
printf("请输入字符串:");
scanf("%s", str); /*输入参数是已经定义好的“字符数组名”, 不用加&, 因为在C语言中数组名就代表该数组的起始地址*/
int index = -1;
for (int i = 0; i < strlen(str); i++)//确定运算符的位置
{
switch (str[i])
{
case'+':index = i; break;
case'-':index = i; break;
case'*':index = i; break;
case'/':index = i; break;
}
if (index != -1)
{
break;
}
}
for (int i = 0; i < index; i++)//遍历运算符前面的字符串
{
preStr[i] = str[i];
}
preStr[index] = '\0';
for (int i = index + 1; i < strlen(str); i++)//遍历运算符后面的字符串
{
endStr[i- index-1] = str[i];
}
endStr[strlen(str)-index - 1] = '\0';
//字符串转数字
a = atoi(preStr);
b = atoi(endStr);
switch (str[index])//开始运算
{
case'+':c = a + b; break;
case'-':c = a - b; break;
case'*':c = a * b; break;
case'/':c = a / b; break;
}
printf("输出结果:%f\n", c);
}
来源:CSDN
作者:yy990928
链接:https://blog.csdn.net/yy990928/article/details/104674983