C++编程 从键盘上输入一个字符串,将里面的数字字符转变成数值储存到数组中并输出

请将执行语句进行注解 谢谢

//运行环境VC6.0
#include<iostream.h>
void main()
{
char str[100];
int data[100],i,j;//定义足够大的字符串数组和整型数组

cout<<"请输入字符串:"<<endl;
cin>>str;

for(i=0;str[i]!='\0';i++)//将字符串中的每个字符转换成整型数据
data[i]=str[i]-'0';

cout<<"输出数组:"<<endl;
for(j=0;j<i;j++)
cout<<data[j];
cout<<endl;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-20
#include <iostream>
using namespace std;
int main(void)
{
char a[100]; //字符串数组
scanf("%s",a);
int b[100];//存储整数值
for (int i = 0,static int j = 0;a[i]!='\0';i++)//循环比较所有字符,若为'\0',说明字符结束。其中j用来记录有多少数字
{
switch (a[i])//给数组b赋值
{
case '0':b[j++]=0;
break;
case '1':b[j++]=1;
break;
case '2':b[j++]=2;
break;
case '3':b[j++]=3;
break;
case '4':b[j++]=4;
break;
case '5':b[j++]=5;
break;
case '6':b[j++]=6;
break;
case '7':b[j++]=7;
break;
case '8':b[j++]=8;
break;
case '9':b[j++]=9;
break;
default:break;
}
}
for (i = 0;i < j;)//输出数组b中的数
cout<<b[i++];
cout<<endl;
// cout<<a<<endl;
return 0;
}