注册 登录
编程论坛 C++教室

新人求教。!仅改变符号的方向结果就不同。意思都一样。

ADust、 发布于 2013-01-17 19:24, 500 次点击
目的是连续输入几个数。求出这些数中的最小的。
#include <iostream>
using namespace std;
int main()
{
    int a,b,i;
    for(i=1;i<=4;i++)
    cin>>a;
    {
        
        cin>>b;
        if (b<a)
            a=b;
        else ;
    }
    cout<<a<<endl;
    return 0;
}
这是我写的。结果输出的不是最小的数。
但是如果把if 中的条件改成a>b的话,那结果就对了。
这是为什么啊?。
意思不都是一样的么???
求指教= = 。。
5 回复
#2
killerlzt2013-01-17 21:32
#include <iostream>
using namespace std;
int main()
{
    int a,b,i;
    for(i=1;i<=4;i++)
    {
        cin>>a;    //应该写入循环里面,否则a等于第四次输入的数;然后a跟b比较
        cin>>b;
        if (b<a)
            a=b;
        else ;
    }
    cout<<a<<endl;
    return 0;
}
#3
张海锋2013-01-18 16:16
你这里的是让每次输入的数字作对比,当然是将最后一次的两个输入的值作对比的。
#4
yaobao2013-01-18 23:05
酱油
#5
锋了2013-01-19 01:27
楼主还需努力
#6
qunxingw2013-01-19 10:13
要理解循环语句,条件语句的作用域。
1