为了账号安全,请及时绑定邮箱和手机立即绑定

如下程序,为什么do while 循环会停不下来?该怎么办?

如下程序,为什么do while 循环会停不下来?该怎么办?

C++ C
繁星点点滴滴 2022-06-01 11:07:25
#include "stdafx.h"#include <iostream>using namespace std;int main(){ cout<<"请输入运算表达式,以数字开头,分号结尾\n";float num[500];char opr[500];int n=0,o=0;do{cin>>num[n]>>opr[o]; //存入表达式n++,o++;}while(opr[o]!=';');float b=0,s=0;int i=0,j=0;while (j<o) //读取表达式{switch(opr[j]){case '+' :s+=num[i];case '-' :s-=num[i];}i++,j++;}cout<<s;return 0;}写一个程序能读入并计算一个只包含加减运算的表达式,每个输入的数据都是浮点数,除第一个数以外,其余每个数前面都有一个运算符,如“23+43-233+234;”表达式以分号“;”结束。
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

do
{
cin>>num[n]>>opr[o]; //存入表达式 这里输入一个字符
n++,o++; //这里o位置变了
}while(opr[o]!=';'); //这里又想检查刚输入的o原位的数,所以,永远检查不到了!
do
{
cin>>num[n]>>opr[o];
n++,o++;
}while(opr[o-1]!=';'); //取上一位

查看完整回答
反对 回复 2022-06-06
  • 1 回答
  • 0 关注
  • 225 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信