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

想想···c++

guchao2009 发布于 2009-12-26 16:51, 970 次点击
#include<iostream>

using namespace std;
void main()
{
    int number;
    int m;   //十位数
    int n;   //个位
    int i,j;
    int maxsize=1000;  //控制循坏结束
    cout<<"请输入一个12位数字:"<<endl;
    cin>>number;
    m=number%10;
    n=((number%100)-m)/10;
   
   
    cout<<m<<endl;
    cout<<n<<endl;
}


我想输出m等于12位数的十位,n=12位数的个位·······怎么去实现!!!!
14 回复
#2
天使梦魔2009-12-26 18:17
#include <iostream>
using namespace std;
int main()
{
    char a[12];
    cin>>a;
    cout<<a[0]<<endl<<a[1];
    cin.get();
    cin.get();
}
#3
guchao20092009-12-26 18:56
能不能不用数组解决,我感觉我编写的好像不错,但是他的结果是0
#4
天使梦魔2009-12-26 20:08
你自我感觉太良好了.
int的长度占4位,表示范围也就是0000-FFFF
把你的计算器打开,查看那里选择科学型,然后选择十六进制,输入FFFF再选择十进制看看值能到多少,然后再看看你要求的是多少.

#include <iostream>
using namespace std;
int main()
{
    string a;//就是char*
    cin>>a;
    cout<<a[0]<<endl<<a[1];
    cin.get();
    cin.get();
}


在C++里,char,int,float和各种类型之间都可以互相转换
#5
wlsj2009-12-26 21:39
学习了
#6
guchao20092009-12-26 22:51
数据类型名    数据类型描述    数据类型的长度(字节)    数据的取值范围

Char    字符型    1    0~255
Int    有符号整型    4    -2147483648~2147483648



int 的取值范围不是 -2147483648~2147483648
#7
pangding2009-12-27 13:24
如果不考虑超范围的事,下面可能就行:
n = number % 10;
m = (number / 10) % 10;
#8
yangliangbin2009-12-27 21:50
超出int的范围后别妄想用double,%的对像只能为int型。。。

#include <iostream>
#include<string>//注意要加<string>。。。
using namespace std;
int main()
{
    string a;
    cin>>a;
    cout<<"个位:";
    cout.put(a[11]);
    cout<<"\n十位";
    cout.put(a[10]);
    return 0;
}
#9
guchao20092009-12-28 13:07
string类型怎么理解?
改了一下:
#include<iostream>
#include<string>
#define num 12

using namespace std;
void main()
{
    string number;
    int m;   //十位数
    int n;   //个位
    int i,j;
    int maxsize=1000;  //控制循坏结束
    cout<<"请输入一个12位数字:"<<endl;
        cin>>number;
    m=number[10];
    n=number[11];
    cout<<m<<endl;
    cout<<n<<endl;
}
虽然没有错但是输出的是53,54?  怎么理解啊?
#10
秀痘魔导士2009-12-28 13:39
以下是引用guchao2009在2009-12-28 13:07:03的发言:

string类型怎么理解?
改了一下:
#include<iostream>
#include<string>
#define num 12

using namespace std;
void main()
{
    string number;
    int m;   //十位数
    int n;   //个位
    int i,j;
    int ...
ASCII码表你自己查一下。
#11
秀痘魔导士2009-12-28 13:40
m=number[10]-'0'
#12
guchao20092009-12-28 14:18
难道就不能输出字符吗?

输出的是ascll````````

如果我输入123456789456
我想m=5
n=6
怎么写它的输出格式呢?
#13
guchao20092009-12-28 14:20
呵呵····你太聪明了

m=number[10]-'0'

有点·····
#14
秀痘魔导士2009-12-28 14:22
以下是引用guchao2009在2009-12-28 14:20:29的发言:

呵呵····你太聪明了

m=number[10]-'0'

有点·····
写多了就习惯了,呵呵
#15
秀痘魔导士2009-12-31 17:48
以下是引用天使梦魔在2009-12-26 20:08:58的发言:

你自我感觉太良好了.
int的长度占4位,表示范围也就是0000-FFFF
把你的计算器打开,查看那里选择科学型,然后选择十六进制,输入FFFF再选择十进制看看值能到多少,然后再看看你要求的是多少.

#include <iostream>
using  ...
int长度32位,什么时候都用16进制了?
1