c++程序:目的是让用户把数据输入到数组中,并可以通过输入q来提前结束结束输入

源码如上,但是每次我随便输入第一个数字,他就直接跳出循环了
#include <iostream>
using namespace std;
int main()
{
double ar[10];
int i;
double temp;
for (i = 1; i < 11; i++)
{
cout << "请输入第" << i << "个成绩" << endl;
cin >> temp;
if (temp = 'q')
break;
else
ar[i] = temp;
}
cout << "输入完成" << endl;
system("pause");
return 0;
}

    temp = 'q'应该是temp == 'q'才对。

    if(temp == 'q')这个判断有逻辑错误,因为temp是double型,输入q时它并没有接收,还是上次输入的数字。

    建议这样写——无论是不是输入了q,只要不是数字或'.'就结束输入了

int main(void){
    double ar[10];
    int i;
    //double temp;
    for (i = 1; i < 11; i++)
    {
    cout << "请输入第" << i << "个成绩" << endl;
    if(!(cin >> ar[i]))
        break;
    }
    cout << "输入完成" << endl;
    system("pause");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-05
if(temp=='q')

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网