首页 > 其他 > 详细

PAT---1005. Spell It Right (20)

时间:2014-08-02 12:31:53      阅读:377      评论:0      收藏:0      [点我收藏+]

bubuko.com,布布扣

#include<iostream>
#include<stack>
#include<string.h>

char *g_WordTable[10]= {"zero", "one", "two", "three", "four", "five","six", "seven", "eight", "nine"};

int main() { //存放用户输入的数据 char input[1000]; //当用户输入的数据没有停止的时候 while(scanf("%s", &input) != EOF) { int sum = 0; //得到用户输入数据的长度,用到了string.h int len = strlen(input); //把每个字符转化为ASCII码,数字字符的ASCII码和数字本身是相等的,求和 for(int i = 0; i < len; ++i) sum += (input[i]-0); //定义一个栈 std::stack<int> s; //拆位,个位先放入栈,然后是十百千位 do { int temp = sum%10; s.push(temp); sum /= 10; }while(sum != 0); //输出,empty判断堆栈是否为空 while(!s.empty()) { //得到堆栈栈顶数据 int t = s.top(); //size返回当前堆栈长度(即内部数据个数) //如果栈的大小事大于1的 if((int)s.size() > 1) printf("%s ", g_WordTable[t]); else printf("%s\n", g_WordTable[t]); //pop弹出栈顶的元素 s.pop(); } } return 0; }

总结:1.掌握指针数组定义字符串和二维数组定义字符串,指针数组更优

         2.掌握拆项的方法

         3.掌握栈的方法

PAT---1005. Spell It Right (20),布布扣,bubuko.com

PAT---1005. Spell It Right (20)

原文:http://www.cnblogs.com/michaeljunlove/p/3886769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!