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

编写的一个求最大值和最小值,数字太大会报错误的答案

lihuaye 发布于 2012-03-10 21:22, 633 次点击
#include <iostream>
int main()
{
    std::cout<<"输入2个数字"<<std::endl;
    int V1 , V2 ;
    std::cin>>V1>>V2;
    int lower ,upper ;
    if (V1<V2)
    {
        lower=V1 ;
        upper=V2;
    }
    else
    {
        lower=V2 ;
        upper=V2 ;
    }
    std::cout<<"最大的是"<<upper<<"最小的是"<<lower<<std::endl;
    if (V1=V2) {
      lower=upper;
      }
    std::cout<<"2数相等"<<upper<<"="<<lower<<std::endl;
    return 0 ;
    }
如果第一次输入是235
第二次输入是142
结果为最大值是142,最小值142
2数相等 142=142
是哪出错  ?还有数值过大也会出错,怎么解决?新手没分,见谅!
6 回复
#2
AndyLance2012-03-10 21:31
else包含的语句写错了!!!!你可以用三目运算符来计算最大值和最小值
#3
lihuaye2012-03-10 21:48
回复 2楼 AndyLance
三目运算符?我是自学。。。才看到用if,这个真不会
#4
陈雷阿宝2012-03-10 21:54
else包含的语句用错了
#5
lihuaye2012-03-10 21:56
回复 4楼 陈雷阿宝
要怎么改正?这个我真不会...
#6
非死亡!2012-03-10 22:16
你的if(v1=v2)写错啦  是相等不是赋值  还有有逻辑错误  还有可以用名字空间的 没关系 只要你不放弃,以后就会写出好的程序的  come on.
我帮你改了下:
程序代码:
#include <iostream>
int main()
{
    std::cout<<"输入2个数字"<<std::endl;
    int V1 , V2 ;
    std::cin>>V1>>V2;
    int lower ,upper ;
    if (V1 < V2)
    {
        lower=V1 ;
        upper=V2;
    }   
    else if (V1 == V2) {
      lower=upper;
      std::cout<<"2数相等"<<upper<<"="<<lower<<std::endl;
      }
   
    else
    {
        lower = V2 ;
        upper = V2 ;
    }
    std::cout<<"最大的是"<<upper<<"最小的是"<<lower<<std::endl;
    return 0 ;
}
#7
luojunyjh2012-06-16 11:11
#include <iostream>
int main()
{
    std::cout<<"输入2个数字"<<std::endl;
    int V1 , V2 ;
    std::cin>>V1>>V2;
    int lower ,upper ;
     if (V1==V2)
     {
          lower=upper;
          std::cout<<"2数相等"<<upper<<"="<<lower<<std::endl;
          return 0 ;
      }
   else if (V1<V2)
    {
        lower=V1 ;
        upper=V2;
    }
    else
    {
        lower=V2 ;
        upper=V1 ;
    }
    std::cout<<"最大的是"<<upper<<"最小的是"<<lower<<std::endl;
    return 0 ;
    }

[ 本帖最后由 luojunyjh 于 2012-6-16 11:15 编辑 ]
1