qq_51027842 2021-10-09 11:42 采纳率: 100%
浏览 45
已结题

好难,不知道怎么写代码。

用MATALB怎么做一个加减乘除的应用程序啊,主要是代码段的编写,小白一个,求带

  • 写回答

2条回答 默认 最新

  • CSDN专家-黄老师 2021-10-09 12:07
    关注
    
    function ret = myeval(str)
    %输入计算的字符串,返回运算符类型与运算符位置
    ASCII_list= abs(str);
    len_str = length(ASCII_list);
     
    flag = 0;
    position = 0;
    for i = 1:len_str
        if ASCII_list(i) ==  43
            flag = 1;
            position = i;
        elseif ASCII_list(i) ==  45
            flag = 2;
            position = i;
        elseif ASCII_list(i) ==  42
            flag = 3;
            position = i;
        elseif ASCII_list(i) ==  47
            flag = 4;
            position = i;
        end
    end
     
    pos1 = 1;
    number1 = [0, 0];
    %检索第一个数字
    for j = 1:(position-1)
        if ASCII_list(j) ~= 32
            number1(pos1) = (ASCII_list(j) - 48);
            pos1 = pos1 + 1;
        end
    end
     
    pos2 = 1;
    number2 = [0, 0];
    %检索第二个数字
    for k = (position+1):len_str
        if ASCII_list(k) ~= 32
            number2(pos2) = (ASCII_list(k) - 48);
            pos2 = pos2 + 1;
        end
    end
     
    %计算被加数字
    number_1 = 10*number1(1)+number1(2);
    number_2 = 10*number2(1)+number2(2);
     
    %运算
    if flag == 1
        ret = number_1 + number_2;
    elseif flag == 2
        ret = number_1 - number_2;
    elseif flag == 3
        ret = number_1 * number_2;
    elseif  flag == 4
        ret = number_1 / number_2;
    end
    end
    

    如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月17日
  • 已采纳回答 10月9日
  • 创建了问题 10月9日