编程挑战---失败作品,请大家轻拍
题目详情
输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"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 //提示:自动阅卷结束唯一标识,请勿删除或增加。
}
编程挑战 失败 --------------------编程问答-------------------- --------------------编程问答--------------------
表示:蛇年马月马日猴时看过了但不很明白? --------------------编程问答-------------------- 看半天,楼主想问什么或者想说明什么问题呀 --------------------编程问答--------------------
这个挺有意思 --------------------编程问答-------------------- 找错处,就是失败的原因. --------------------编程问答-------------------- ...string转int,有这么麻烦?
还是说我out了?
if(int.TryParse(str))
return int.Parse(str);
else
return -1;
不应该是这样的吗? --------------------编程问答-------------------- 不错,很好看,图片拿走
补充:.NET技术 , .NET Framework