输入两个数据和一个算术运算符组成的表达式,根据运算符完成相应运算

输入两个数据和一个算术运算符组成的表达式,根据运算符完成相应运算

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
以下是一个实现该功能的 C++ 程序:

#include <iostream>
using namespace std;

int main() {
    double a, b; // 定义两个操作数
    char op; // 定义一个字符型变量用于存储运算符
    
    cout << "请输入两个操作数和一个运算符,中间用空格隔开:" << endl;
    cin >> a >> b >> op;
    
    double result; // 定义一个变量用于存储结果
    
    // 根据运算符进行相应的运算
    switch (op) {
        case '+':
            result = a + b;
            break;
        case '-':
            result = a - b;
            break;
        case '*':
            result = a * b;
            break;
        case '/':
            result = a / b;
            break;
        default:
            cout << "不支持的运算符!" << endl;
            return 1;
    }
    
    cout << "结果是:" << result << endl;
    
    return 0;
}

该程序首先提示用户输入两个操作数和一个运算符,然后通过 cin 语句读入这些数据。接着,程序根据运算符进行相应的运算,并将结果存储在变量 result 中。最后,程序使用 cout 语句输出结果。

请注意,上面的程序假设用户输入的是合法的表达式,即输入的运算符必须是 +-*/ 中的一种。如果用户输入了不支持的运算符,则程序会输出一条错误消息并返回一个非零的值(1),以表示程序运行失败。如果需要,您可以进一步完善该程序,以处理其他可能的错误情况。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

#include <stdio.h>
int main()
{
    char op;
    float num1, num2, result;
    printf("请输入算术表达式,形如1+2:");
    scanf("%f%c%f", &num1, &op, &num2);

    switch (op) {
        case '+':
            result = num1 + num2;
            break;
        case '-':
            result = num1 - num2;
            break;
        case '*':
            result = num1 * num2;
            break;
        case '/':
            result = num1 / num2;
            break;
        default:
            printf("错误:输入的算术运算符不正确!\n");
            return -1;
    }

    printf("%g %c %g = %g\n", num1, op, num2, result);

    return 0;
}

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7743769
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:把两个已按升序排列的数组合并成一个升序数组,要求用函数实现
  • 除此之外, 这篇博客: 结构体数组和结构体指针的应用,结构体成员引用的表示方法中的 结构体数组和结构体指针的应用,结构体成员引用的表示方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • //结构体数组和结构体指针的应用,结构体成员引用的表示方法
    // Created by acer on 2020/8/30.
    #include<stdio.h>
    struct student{
        int num;
        char name[20];
        char sex;
        int age;
        float score;
    };
    
    int main(){
    //    定义结构体数组并初始化
        struct student stu[3]={{11302,"wang",'F',20,483},
                               {11303,"Liu",'M',19,443},
                };
        struct student student1={11301,"fang",'M',21,485},*p,*q;
        int i;
    //    *p指向结构体变量
        p=&student1;
    //    访问结构体变量
        printf("%s,%c,%5.1f\n",(*p).name,p->sex,studengt.score);
        q=stu;  //q指向结构体数组元素
    //   循环访问结构体数组的元素(下标变量)
        for (i = 0;  i<2 ; i++,q++) {
            printf("%s,%c,%5.1f\n",q->name,q->sex,q->score);
        }
        return 0;
    }
    

    结果:
    fang,M,485.0
    wang,F,483.0
    Liu,M,443.0

    printf("%s,%c,%5.1f\n",(*p).name,p->sex,student.score);
    

    由结果可见这三种表示方法含义是相同的。
    成员变量引用的方式有:

    1. 运用成员域访问运算符:<结构体变量名>.成员名,student.score;
    2. 利用间接访问成员域的运算符:指针变量->成员,如p->sex;
    3. 利用结构体指针变量访问结构体变量的成员:(*结构体指针变量名).成员名。如(*p).name;

    容易混淆:
    输入数据的时候,姓名是字符串不用加&!!!,但是年龄,分数,性别要加。
    如:

    scanf("%s,%c,%d",p->name,&p->sex,&p->age);
    
  • 您还可以看一下 刘建萍老师的人工智能系列课程零基础讲解知识点和实例应用线性回归梯度下降逻辑回归课程中的 讲解机器学中会涉及到的有关数学方面的知识储备有哪些小节, 巩固相关知识点