当前位置:编程学习 > C#/ASP.NET >>

编程挑战---失败作品,请大家轻拍


题目详情


 输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345。 

请完成函数StrToInt,实现字符串转换成整数的功能。 







友情提醒: 

提交代码之前,请复查下你的程序,比如当给的字符串是如左边图片所示的时候,有考虑到么? 

当然,它们各自对应的正确输出如右边图片所示(假定你是在32位系统下,编译环境是VS2008以上) 

input:                                          output: 
                           



注:以上只是部分测试数据,不代表上述数据通过了,即挑战成功。 


答题说明



 
完成功能函数StrToInt即可,但不要去改动函数名,参数,至于main函数是为方便你在提交代码之前进行在线编译测试;
不得用库函数atoi。
 
using System;
public static class GlobalMembers
{
    public static int StrToInt(string str)
    {
        str = str.Trim();
            int ret = 0;
            int nDit = 1;
            string sTemp = "";
            int nTemp=0;
            if (str.Substring(0, 1) == "-")
            {
                nDit = -1;
                str = str.Substring(1, str.Length-1);
            }
            if (str.Substring(0, 1) == "+")
            {
                nDit = 1;
                str = str.Substring(1, str.Length - 1);
            }
            char[] charArr=str.ToCharArray();
            int nchar=0;
            for (int i = 0; i < str.Length; i++)
            {
                nchar = charArr[i]-'0';
                if (nchar >= 0 && nchar < 10)//有效
                {
                     nTemp=ret;
                     ret = ret * 10 + nchar;
                     if(nTemp>ret)
                     {
                         ret=nTemp;
                         break;
                     }
                }
                else break;
            }
            ret = ret * nDit;
            return ret;
    
    }

  
        //start 提示:自动阅卷起始唯一标识,请勿删除或增加。
    public static void Main(string[] args)
    {
         Console.WriteLine("结果是{0},{1},{2},{3}", StrToInt("0"), StrToInt("  +1"), StrToInt("-2   "), StrToInt("--2"));
    
        }    
        //end //提示:自动阅卷结束唯一标识,请勿删除或增加。
}        


编程挑战 失败 --------------------编程问答-------------------- --------------------编程问答--------------------
表示:蛇年马月马日猴时看过了但不很明白? --------------------编程问答-------------------- 看半天,楼主想问什么或者想说明什么问题呀 --------------------编程问答--------------------
引用 2 楼 xianfajushi 的回复:

表示:蛇年马月马日猴时看过了但不很明白?

这个挺有意思 --------------------编程问答-------------------- 找错处,就是失败的原因. --------------------编程问答-------------------- ...string转int,有这么麻烦?
还是说我out了?
if(int.TryParse(str))
return int.Parse(str);
else
return -1;
不应该是这样的吗? --------------------编程问答-------------------- 不错,很好看,图片拿走

引用 2 楼 xianfajushi 的回复:

表示:蛇年马月马日猴时看过了但不很明白?
补充:.NET技术 ,  .NET Framework
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,