zoukankan      html  css  js  c++  java
  • 1005. Spell It Right (20)

    分数只有20分,所以题目是很简单的。难点就是如何处理整形转化字符,以及字符转化整形的问题。

    /* 题目:1005		*/
    /* 作者:ChanWunsam	*/
    /* 时间:2017.12.21	*/
    #include <cstdio>
    #include <queue>
    #include <vector>
    #include <map>
    #include <string>
    #include <iostream>
    #include <cmath>
    #include <cstdlib>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
    	int i, j, sum, digit, num;
    	char N[101], S[4];
    	
    	/* 计算数字 */
    	cin>>N;
    	sum=0;
    	for(i=0; N[i]!=''; i++)
    	{
    		sum+=N[i]-'0';
    	}
    	
    	/* 处理字符串转化为int类型 */ 
    	i=0;
    	num=0;
    	digit=10;
    	if(sum==0)				/* 处理特殊情况 */
    		S[i++]=0+'0';
    	while(sum!=0)
    	{
    		num=sum%digit;
    		sum/=digit;
    		S[i++]=num+'0';
    	}
    	S[i]='';      /* 如果这道题是单纯的转化问题,一定要加这句 */
    	//cout<<S<<endl;
    	
    	/* 逆序输出 */
    	for(j=i-1; j>=0; j--)
    	{
    		switch(S[j]-'0')
    		{
    			case 0:	cout<<"zero"; break;
    			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;
    		}
    		if(j)
    			cout<<" ";
    	}
    	
        return 0;
    }
    

    时间复杂度没什么说的,这道题看不出差距。用string可能会再好一点?


    不过这道题也暴露了我的一些问题。由于完全靠自学,我不知道要从哪方面着手,只能按照一些大佬的方法来。像atoi()函数和itoa()函数按理来说应该是要掌握源码的,可惜我还不会。突然又想起学了这么久的C/C++,我却做不出哪怕一个小项目,也就是比不上一个大一新生。本打算现在就着手做一个小项目,但是临近期末了,压力是有点大的。不光怎样,先把本周的任务搞定了吧。

  • 相关阅读:
    NSDate相差8小时
    IOS 多播委托(GCDMulticastDelegate)
    点云、矢量、三维模型数据的平移
    mongodb集群搭建过程记录
    mongodb 使用常见问题汇总(主要是集群搭建)
    安装py3ditles中遇到的问题
    linux常见问题集锦
    Ubuntu18.04 + win10双系统下时间问题
    Frank Dellaert Slam Speech 20190708
    计算机系统基础学习笔记及博客
  • 原文地址:https://www.cnblogs.com/ChanWunsam/p/10018223.html
Copyright © 2011-2022 走看看