| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 664 人关注过本帖
标题:c++ 输入2数大小 如果输入相同的数就重新返回到 输入项 这个要怎么实现
只看楼主 加入收藏
qmz360009300
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-10-9
收藏
 问题点数:0 回复次数:6 
c++ 输入2数大小 如果输入相同的数就重新返回到 输入项 这个要怎么实现
#include<iostream>
int main()
{
    std::cout<<"enter to number"<<std::endl;
    int v1,v2,max;
    std::cin>>v1>>v2;
    if(v1<v2)
    {
        max=v2;
    }else{
        max=v1;
    }
   
    std::cout<<"two number max ="<<max<<std::endl;
    return 0;

}

比如判断 输入v1 v2 2个数都是相同的数值 20的话 就提示重新输入 又循环到 std::cin>>v1>>v2;重新输入 这个要怎么实现
 
2013-10-09 21:11
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
"输入v1 v2 2个数都是相同的数值 20的话"
----- 听不懂
如果是“输入v1 v2 2个数都是相同的数值的话”,那就是 if( v1 == v2 )
如果是“输入v1 v2 2个数都是20的话”,那就是 if( v1==20 && v2==20 )

程序代码:
#include <iostream>

int main()
{
    std::cout<<"enter to number"<<std::endl;

    int v1, v2;
    for( ; std::cin>>v1>>v2 && v1==v2; );

    int max = v1<v2 ? v2 : v1;
    std::cout<<"two number max ="<<max<<std::endl;

    return 0;
}

2013-10-10 09:02
i80286
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:99
专家分:428
注 册:2013-9-30
收藏
得分:0 
办法有很多:
int main()
{
int v1,v2;
do
{
cin.clear();
cin.sync();
cin>>v1;
cin>>v2;
}while(v1==v2);
if (v1<v2)
cout<<v2;
else
cout<<v1;
return 0;
}
2013-10-10 11:41
在这里爬起
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:43
专家分:113
注 册:2013-8-9
收藏
得分:0 
程序代码:
#include<iostream>
using namespace std;
int main()
{
    cout<<"enter to number"<<endl;
    int v1,v2,max;
    cin>>v1>>v2;
    while(v1==v2)
    {
    cin>>v1>>v2;
    }   
    if(v1<v2)
    {
        max=v2;
    }else{
        max=v1;
    }
    cout<<"two number max ="<<max<<endl;
    return 0;

}
首先要判断v1,v2之间是否相等。相等就重新输入
2013-10-10 14:57
qmz360009300
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-10-9
收藏
得分:0 
嗯嗯谢谢。刚刚开始学。
2013-10-10 22:39
qmz360009300
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-10-9
收藏
得分:0 
#include<iostream>
int main()
{
    std::cout<<"enter to number"<<std::endl;
    int v1,v2,max;
    std::cin>>v1>>v2;
    while(v1==v2)   //判断v1,v2之间是否相等。相等就重新输入
    {
        std::cout<<"enter to number"<<std::endl;
        std::cin>>v1>>v2;
    }
    if(v1<v2)
    {
        max=v2;
    }else{
        max=v1;
    }
   
    std::cout<<"two number max ="<<max<<std::endl;
    return 0;

}
按照这样  我输入 2个a  就出现[attach]73077[/attach]  这样是什么问题
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 qmz360009300 于 2013-10-10 23:22 编辑 ]
2013-10-10 23:20
在这里爬起
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:43
专家分:113
注 册:2013-8-9
收藏
得分:0 
回复 6楼 qmz360009300
LZ是一个勤学发问的人,不错啊。要有这样的精神。。。。
   你如果输入a的话,程序判断v1为一个未初始化的值,并不是它的类型,内存就默认保存为-858993460。后面的条件就直接默认是成立的,所以就一直死循环。
2013-10-11 15:06
快速回复:c++ 输入2数大小 如果输入相同的数就重新返回到 输入项 这个要怎么实现 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048795 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved