(c++)编写程序,从标准输入读入一个正整数,把它转为单词输出,如读入123,则输出“one two three”

下面是我编写的程序,为啥不能运行?
#include"iostream.h"
int main()
{
int a[10];
int i;
for(i=0;i<10;i++)
{
cin>>a[i];
}
for(i=0;i<10;i++)
{
switch(a[i])
{
case 1:
cout<<"one ";
break;
case 2:
cout<<"two ";
break;
case 3:
cout<<"three ";
break;
case 4:
cout<<"four ";
break;
case 5:
cout<<"five ";
break;
case 6:
cout<<"six ";
break;
case 7:
cout<<"seven ";
break;
case 8:
cout<<"eight "
break;
case 9:
cout<<"nine ";
break;
case 0:
cout<<"zero ";
break;
}
}
return 0;
}

int main()
{
int a; //输入的是一个整数,并不是一个整数数组,
int b[10]; //用来存储整数上各位上的数
int i=0;
cin>>a;
while(a) //考察的是给一个整数,怎么拆分出各位上的数字。
{
b[i]=a%10;
a=a/10;
i++;
}
int j;
for(j=i-1;j>=0;j--) //注意数组存储的顺序 和 实际 数的顺序是相反的。
{
switch(b[j])
{
case 1:
cout<<"one ";
break;
case 2:
cout<<"two ";
break;
case 3:
cout<<"three ";
break;
case 4:
cout<<"four ";
break;
case 5:
cout<<"five ";
break;
case 6:
cout<<"six ";
break;
case 7:
cout<<"seven ";
break;
case 8:
cout<<"eight "; //别忘了分号
break;
case 9:
cout<<"nine ";
break;
case 0:
cout<<"zero ";
break; //分号需要是英文下的。
}
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-13
void  main()
{
int a[10];
int i;
    for(i=0;i<10;i++)
{
cin>>a[i];
}
     for(i=0;i<10;i++)
{
switch(a[i])
{
case 1:
 cout<<"one ";
 break;
case 2:
cout<<"two ";
break;
case 3:
cout<<"three "; 
break;
case 4:
cout<<"four ";
break;
case 5:
cout<<"five ";
break;
case 6:
cout<<"six ";
break;
case 7:
cout<<"seven ";
break;
case 8:
cout<<"eight ";
break;
case 9:
cout<<"nine ";
break;
case 0:
cout<<"zero ";
break;
}
 }
}

take care of the format

第2个回答  2014-03-13
不知道你说的是不能通过编译呢还是编译过了运行不对
你的程序可以加上using namespace std;使用命名空间
相似回答