| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 396 人关注过本帖
标题:为什么我的输出结果不是字符而是数字?
只看楼主 加入收藏
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:6 
为什么我的输出结果不是字符而是数字?
两个乒乓球队进行比赛,各出三人。甲队为A,B,C三人,乙队为X,Y,Z三人。已抽签决定比赛名单,有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,编程找出三对选手的对手名单。
注:使用穷举法


#include<iostream>
using namespace std;
int main()
{
    int i=0,j=0,k=0;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            for(k=0;k<3;k++)
            {
                if(i==j||j==k||k==i)
                    continue;
                if(i!=1&&k!=1&&k!=3)
                {
                                   cout<<"A vs "<<i+'X'-1<<endl;
                   cout<<"B vs "<<j+'X'-1<<endl;
                   cout<<"C vs "<<k+'X'-1<<endl;
                   return 0;
                }
            }
        }
    }
    return 0;
}
搜索更多相关主题的帖子: continue include 乒乓球 
2013-09-28 19:35
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
收藏
得分:10 
'X'在跟i j k做加法运算时转化成ascii的值了
2013-09-28 19:41
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
收藏
得分:0 
回复 2楼 blueskiner
那怎么再转回来,但是我在c中可以输出字符的,为什么vc6.0就不行了
2013-09-28 19:51
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
收藏
得分:0 
你用一个char类型的变量保存结果,再输出。
因为C++是强类型语言,流操作符 << 会根据类型输出。对类型的操作限制得很紧。不像C这么随便、这么灵活。

附上答案吧,反正不复杂。
        char c;
    c = i+'X'-1;
    std::cout<<"A vs "<<c<<std::endl;
    c = j+'X'-1;
    std::cout<<"B vs "<<c<<std::endl;
    c = k+'X'-1;
    std::cout<<"C vs "<<c<<std::endl;

[ 本帖最后由 blueskiner 于 2013-9-28 19:57 编辑 ]
2013-09-28 19:55
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
收藏
得分:0 
回复 4楼 blueskiner
没有其他简便的办法了?
2013-09-28 20:14
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
收藏
得分:0 
有,cout<<"A vs "<<(char)(i+'X'-1)<<endl;
    cout<<"B vs "<<(char)(j+'X'-1)<<endl;
    cout<<"C vs "<<(char)(k+'X'-1)<<endl;

这种做法让我觉得好蠢,底层屏蔽了转换的信息,还不如明明白白地给一个临时变量来存,除非有注释可看

    cout<<"A vs "<<(char)(i+'X'-1)<<endl;  // 将结果转换成字符显示...
    cout<<"B vs "<<(char)(j+'X'-1)<<endl;
    cout<<"C vs "<<(char)(k+'X'-1)<<endl;
2013-09-28 20:19
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
收藏
得分:0 
回复 6楼 blueskiner
哦哦,知道了,谢谢了,哥们!
2013-09-28 20:44
快速回复:为什么我的输出结果不是字符而是数字?
数据加载中...
 
   



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

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