c++如何从键盘接收int a【】;数组

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:23:31
c++如何从键盘接收int a【10】;数组,不要for循环那种,比如输入123456然后回车,接收的结果是a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5,a[5]=6

那你可以定义成
char a[10]
只是此时的a[0]='1'.在界面上虽然输出的是1,但是实际的整数值并不是1
当然你可以用printf("%c",a[0]);这样的话。。。结果还是0

或者你可以在输入以后进行处理
ASCII 0的值是48.你可以用小写字母97-48=49这个差量来换算也可以。

如果用int 的话。123456还有一种。不过相当不建议,还是说一下
scanf("%1d",&a[0]);
scanf("%1d",&a[1]);
这里是一d,也不是ld注意下

1d代表只取一位,后面的由后面取。可是这样的话。。。。不用for。。。虽然能存,但是功能不强大。

一般的123456代表的只是一个整形

楼主需要c++
可用while循环:
int i=0;
while(条件)
{
cin>>a[i++];
}

貌似用int是不行的

至少我还没有学到

你可以用char的来接受

然后在自己分割..

给个建议,程序如下(使用的是和 踏岸寻柳 相同的方法,这里只是实现):

#include <iostream>
#include <string>
#include <cctype>
using namespace std;

int main()
{
// a为记录数据的数组,length为a的有效长度
int a[ 10 ], length;

{
char as[ 11 ];
int i;

// 首先使用as暂时存储读入的数据
cin >> as;
length = strlen( as );