输入两个数据和一个算术运算符组成的表达式,根据运算符完成相应运算
该回答通过自己思路及引用到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;
}
//结构体数组和结构体指针的应用,结构体成员引用的表示方法
// 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);
由结果可见这三种表示方法含义是相同的。
成员变量引用的方式有:
容易混淆:
输入数据的时候,姓名是字符串不用加&!!!,但是年龄,分数,性别要加。
如:
scanf("%s,%c,%d",p->name,&p->sex,&p->age);