| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1147 人关注过本帖
标题:刚学c++ 遇到困惑
只看楼主 加入收藏
shining小南
Rank: 2
等 级:论坛游民
威 望:1
帖 子:47
专家分:42
注 册:2010-9-16
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:13 
刚学c++ 遇到困惑
1..字符串可以放在值类型中分类的吗?能的话分为那一类(int char float bool)?
2. #include "iostream.h"
int main()
{
        int number;
        cout <<"请输入一个四位数(0000~9999):";
        cin >>number;
        cout <<number <<"的千位数是" <<number/1000 <<"," <<number <<"的百位数是" <<number%1000/100 <<"," <<number <<"的十位数是" <<number%100/10 <<"," <<number <<"的个位数是" <<number%10 <<"。" <<endl;
return 0;
}
这个程序输入四位数是12的话就出来12 的千位数是0,12的百位数是0,12 的十位数是1,12 的个位数是2;如果输入0012的话就出来“10的千位数是0,10的百位数是0,10 的十位数是1,4248 的个位数是0”  why?why?
3.cout<<a>0?a%10:-a%10;为什么error咧!
搜索更多相关主题的帖子: 困惑 
2010-09-16 21:16
redappletree
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-9-16
收藏
得分:0 
为啥我运行时是:0 error(s), 0 warning(s);但是无法执行程序啊?难道我的运行软件有问题?
2010-09-16 22:06
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:5 
0012八进制
2010-09-16 22:16
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
const char
2010-09-16 22:17
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
函数重载
2010-09-16 22:17
ljzzcm
Rank: 1
等 级:新手上路
帖 子:8
专家分:1
注 册:2010-9-8
收藏
得分:0 
我也等答案
2010-09-16 22:56
肖付
Rank: 2
等 级:论坛游民
帖 子:53
专家分:24
注 册:2010-9-11
收藏
得分:0 
哦,这个我运行的时候4248的还是对的。但是0012的就是错的,不过三楼和五楼应该是正确的解答了。
2010-09-16 23:21
holychild
Rank: 2
等 级:论坛游民
帖 子:21
专家分:31
注 册:2010-8-22
收藏
得分:5 
你应该先补补最基本的数的表示方法和进制之间的转化。
在C和C++语言中,不仅允许十进制整数,还允许八进制和十六进制,它们的表示方法不同。
比如:
75     // 十进制 decimal
0113 // 八进制 octal
0x4b // 十六进制 hexadecimal
所有这些都表示同一个整数: 75  ,分别以十进制数,八进制数和十六进制数表示。
在这个程序里,12表示十进制中的12, 0012却是八进制的表示方法,转化成十进制就是10,所以输出是10。
还有你说的4248,我运行试过了,是正确的,个位是8,估计你看错了。

2010-09-16 23:26
yao_210162
Rank: 2
等 级:等待验证会员
帖 子:33
专家分:18
注 册:2009-6-8
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册



这是我在VC++6.0下运行的结果,没有出现楼主的问题?

[ 本帖最后由 yao_210162 于 2010-9-17 07:52 编辑 ]
2010-09-17 07:48
零下八度
Rank: 2
等 级:论坛游民
帖 子:15
专家分:36
注 册:2010-9-14
收藏
得分:0 
1.0012会出现楼主说的问题。。这是因为如果写成0012系统会认为是 八进制的012。因为表示八进制数是在前面加0,表示16进制的数时在前面加0x。。。
2.输入4248时,结果正确。。可能是你把8看成了0.

2010-09-17 08:48
快速回复:刚学c++ 遇到困惑
数据加载中...
 
   



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

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