编写一个关于数组用法的简单程序,对过来人来说很简单的

来源:百度知道 编辑:UC知道 时间:2024/06/06 15:20:00
编写一个程序,提示从键盘输入一个小于1000的正整数,然后创建并输出用语言描述的该值的正整数。例如,如果输入的是941,改程序将输出字符串“nine hundred and forty one".

第二题
编写一个程序,允许用一个逗号分隔的单词列表,然后提取该单词,删除单词前后的所有空格,每个单词用一行输出、例如,如果输入john,jack,jill
那么输出
john
jack
jill
我想了听久了有一点眉目但又做不出来,大家把解题的思路说一下就行了,现在这里谢谢大家。

第一个题比较简单,思路:对这个小于1000的正整数进行分离出百位数、十位数和个位数,然后分别根据各位数字字符按照switch结构来进行对应字符串的组装拼接。
第二个题思路:对输入的逗号分隔的单词列表字符串,逐个字符读入,然后对读入的字符判断是否是逗号符号,如果是,把前面读入的输出,继续下面的读入,知道遇到字符串的结束符为止。

这是第一题的代码,主要是运用/ 和 % 的运算结果来使用数组中的字符串

#include <iostream>
using namespace std;

int main(){
char *tp[12]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu","shi","bai"};

int num;char cnt;
do{
cout<<"输入数字0~999:"<<endl;
cin>>num;
if(num>=0&&num<=10){
cout<<tp[10]<<endl;
}
else if(num>10&&num<100)
{
if(num%10==0)
cout<<tp[num/10]<<' '<<tp[10]<<endl;
else
cout<<tp[num/10]<<' '<<tp[10]<<' '<<tp[num%10]<<endl;
}