CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

c#每日一题(四)

楼主VBDN( PowerBASIC.CN )2005-04-04 13:48:22 在 .NET技术 / C# 提问

编写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能:  
  1).输出字符串的长度。  
  2).输出字符串中第一个出现字母a的位置。  
  3).在字符串的第3个字符后面插入子串“hello”,输出新字符串。  
  4).将字符串“hello”替换为“me”,输出新字符串。  
  5).以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。 问题点数:20、回复次数:28Top

1 楼steedhorse(晨星)回复于 2005-04-04 14:02:20 得分 0

程序呢?Top

2 楼lampson123(微软)回复于 2005-04-04 14:11:44 得分 0

什么意思?Top

3 楼fuchen_yan(线团)回复于 2005-04-04 14:14:33 得分 2

Dim   hello  
  Dim   length  
  Dim   word    
  Dim   hello1    
  Dim   arrlist  
  length   =   len(hello)             '   1)  
  word   =   left(hello,3)&"hello"&rigth(hello,length-3)           '3)  
  hello1   =   replace(hello,"me")                 '4)  
  arrlist   =   spilt(hello,'m')Top

4 楼fuchen_yan(线团)回复于 2005-04-04 14:15:22 得分 0

第二个不会阿Top

5 楼steedhorse(晨星)回复于 2005-04-04 14:16:07 得分 0

楼上是用B#写的。^0^Top

6 楼sskset(断点)回复于 2005-04-04 14:20:55 得分 2

2).输出字符串中第一个出现字母a的位置。  
   
  int   intPos=str.IndexOf("a");Top

7 楼VBDN( PowerBASIC.CN )回复于 2005-04-04 19:33:10 得分 0

upTop

8 楼ivorstar(单击此处留言)回复于 2005-04-04 19:45:50 得分 2

这里用到的都是String类里的方法啊。Top

9 楼BigIdiot628(大笨蛋,谁叫你不努力!)回复于 2005-04-04 20:06:35 得分 0

好帖,顶!Top

10 楼xczgb(TJJTDS)回复于 2005-04-04 20:08:33 得分 0

希望出点经典题Top

11 楼Ivony(授人以鱼不如授人以渔,上海谋生)回复于 2005-04-04 20:34:18 得分 10

using   System;  
   
  namespace   MyConsole  
  {  
      class   MyClass  
      {  
          ///   </summary>  
          //与题目一样,我试图尽量展示C#的语法和特性。  
          [STAThread]  
          public   static   void   Main(   string[]   args   )  
          {  
              string   str   =   null;  
   
              do//不常见的do...while循环,不要忘了C#的这个特性,有时可以用来优雅的解决一些问题  
              {  
                  if   (   str   ==   null   )//利用null值优雅的解决输入错误的提示。  
                      str   =   "";  
                  else  
                      Console.WriteLine("输入错误,请输入三个字符以上。");  
   
                  Console.WriteLine("请输入一个字符串:");  
                  str   =   Console.ReadLine();  
              }  
              while(   str.Length   <=   3   );  
   
              Console.WriteLine();//无参WriteLine,也是很好用的一个东西。  
              Console.WriteLine(   "字母'a'在您输入的字符串中所处位置为:{0}",   str.IndexOf("a")   );//WriteLine的这个重载是支持格式化字符串的  
   
              Console.WriteLine();  
              Console.WriteLine(   str   =   str.Insert(   3,   "hello"   )   );//C语系的特色,赋值也是表达式,表达式就有返回值。虽然不推荐这样写,但有时候这种写法很优雅。  
              Console.WriteLine(   str   =   str.Replace("hello","me")   );  
   
              foreach   (   string   sstr   in   str.Split(   'm'   )   )//foreach是对付数组最好的武器。  
                  Console.Write(   "{0}\t",   sstr   );  
              Console.WriteLine();  
   
              Console.WriteLine();  
              Console.WriteLine("按任意键继续");  
              Console.Read();//其实就是暂停了  
          }      
      }  
  }  
  Top

12 楼redlotoc(红莲花)回复于 2005-04-04 20:58:46 得分 0

能不能出些难点的问题Top

13 楼vrace(Warcraft III in 1.20)回复于 2005-04-04 21:08:36 得分 4

string   s   =   Console.ReadLine();  
   
  Console.WriteLine("The   length   of   this   string   is   {0}",   s.Length);  
   
  int   index   =   s.IndexOf("a");  
  if(index   >=   0)  
  {  
    Console.WriteLine("The   index   of   first   'a'   is   {0}",   index);  
  }  
  else  
  {  
    Console.WriteLine("'a'   does   not   found.");  
  }  
   
  s   =   s.Insert(3,   "hello");  
  Console.WriteLine(s);  
   
  s   =   s.Replace("hello",   "me");  
  Console.WriteLine(s);  
   
  foreach(string   str   in   s.Split("m"))  
  {  
    Console.WriteLine(str);  
  }Top

14 楼vrace(Warcraft III in 1.20)回复于 2005-04-04 21:09:13 得分 0

最后那里打错了,是  
   
  foreach(string   str   in   s.Split("m".ToCharArray())  
  {  
  ...  
  }  
  Top

15 楼wingnal(清淡天和)回复于 2005-04-04 21:22:07 得分 0

这问题有意义吗?Top

16 楼huangsuipeng(hsp|I love foxpig)回复于 2005-04-04 22:56:30 得分 0

ER,。,要不玩吃空格  
  一个STRING,把前头后头的空格吃掉,中间出现的空格不管几个,连续两个以上的以个代替Top

17 楼tttick(秉承一贯懒散的生活方式与严谨的工作态度¢)CodinG)回复于 2005-04-05 00:35:58 得分 0

这个问题没有什么意义。。。但是大家当作是复习久知识嘛。。。  
  呵呵~~~~~~~Top

18 楼xlkg_ss(我想学习)回复于 2005-04-05 09:10:27 得分 0

upTop

19 楼niunj(南航牛)回复于 2005-04-05 09:14:09 得分 0

不错     是训练基本功的题目Top

20 楼linhaibo156(幽海独仰月)回复于 2005-04-05 10:20:19 得分 0

是啊。我得多多学习学习这些  
  都忘得差不多了Top

21 楼wangasp(小虾一个)回复于 2005-04-05 10:22:22 得分 0

练习!Top

22 楼VBDN( PowerBASIC.CN )回复于 2005-04-05 11:32:53 得分 0

参考答案:  
  using   System;  
  class   Test6  
  {  
  public   static   void   Main()  
  {  
  string   str="";  
  while(str.Length<=3)  
  {  
  Console.Write("请输入一个长度大于3的字符串:");  
  str=Console.ReadLine();  
  }  
  //完成功能1  
  Console.WriteLine("字符串的长度为:{0}",str.Length);  
  //完成功能2  
  int   i=str.IndexOf('a');  
  if   (i>-1)  
  {  
  Console.WriteLine("第一个出现字母a的位置是:{0}",i);  
  }  
  else  
  {  
  Console.WriteLine("字符串中不包含字母a。");  
  }  
  //完成功能3  
  string   str1=str.Insert(3,"hello");  
  Console.WriteLine("插入hello后的结果为:{0}",str1);  
  //完成功能4  
  string   str2=str1.Replace("hello","me");  
  Console.WriteLine("将hello替换为me后的结果为:{0}",str2);  
  //完成功能5  
  string[]   arr=str2.Split('m');  
  Console.WriteLine("以m为分隔符分离后的字符串有:");  
  for   (int   j=0;j<arr.Length;j++)  
  {  
  Console.WriteLine(arr[j]);  
  }  
  Console.ReadLine   ();  
  }  
  }  
  Top

23 楼Ivony(授人以鱼不如授人以渔,上海谋生)回复于 2005-04-05 12:27:07 得分 0

参考答案更像VB,并且一大堆的亢余代码。。。。Top

24 楼VBDN( PowerBASIC.CN )回复于 2005-04-06 17:03:15 得分 0

to   fuchen_yan(fuchen)  
  ============================  
  不要老丢不下VB,俺也是个VB爱好者,下边是俺用VB实现的代码:  
  Private   Sub   Command1_Click()  
          Dim   Hello   As   String  
          Dim   Hello1   As   String  
          Dim   ArrList()   As   String  
          Hello   =   InputBox("请输入一个长度大于3的字符串:");,   "vbdn_abc")  
          Debug.Print   ,   Hello  
          '   1)  
          Debug.Print   "1.",   Len(Hello)  
          '   2)  
          Debug.Print   "2.",   InStr(Hello,   "a")  
          '   3)  
          Hello1   =   Left(Hello,   3)   &   "hello"   &   Right(Hello,   Len(Hello)   -   3)  
          Debug.Print   "3.",   Hello1  
          '   4)  
          Hello1   =   Replace(Hello1,   "hello",   "me")  
          Debug.Print   "4.",   Hello1  
          '   5)  
          ArrList   =   Split(Hello1,   "m")  
          Dim   x  
          Debug.Print   "5.";  
          For   x   =   LBound(ArrList)   To   UBound(ArrList)  
                  Debug.Print   ,   ArrList(x)  
          Next  
  End   SubTop

25 楼VBDN( PowerBASIC.CN )回复于 2005-04-06 17:15:59 得分 0

下边是VB.NET的代码:  
                  Dim   Hello   As   String  
                  Dim   Hello1   As   String  
                  Dim   ArrList()   As   String  
                  Hello   =   Console.ReadLine()  
                  Console.WriteLine(Hello)  
                  '   1)  
                  Console.WriteLine("1."   &   Len(Hello))  
                  '   2)  
                  Console.WriteLine("2."   &   InStr(Hello,   "a"))  
                  '   3)  
                  Hello1   =   Mid(Hello,   1,   3)   &   "hello"   &   Mid(Hello,   4,   Len(Hello)   -   3)  
                  Console.WriteLine("3."   &   Hello1)  
                  '   4)  
                  Hello1   =   Replace(Hello1,   "hello",   "me")  
                  Console.WriteLine("4."   &   Hello1)  
                  '   5)  
                  ArrList   =   Split(Hello1,   "m")  
                  Dim   x  
                  Console.WriteLine("5.")  
                  For   x   =   LBound(ArrList)   To   UBound(ArrList)  
                          Console.WriteLine(ArrList(x))  
                  NextTop

26 楼hyzoujinquan(-=风=-)回复于 2005-04-06 20:12:24 得分 0

upTop

27 楼wangasp(小虾一个)回复于 2005-04-14 20:25:52 得分 0

upTop

28 楼xsxcjj(线上熊)回复于 2005-04-21 14:37:43 得分 0

if   (str1.Length   >=   3)  
  {  
      Console.WriteLine(str1.Length);  
      Console.WriteLine(str1.IndexOf('a'));  
      Console.WriteLine(str1.Insert(3,"hello"));  
      Console.WriteLine(str1.Replace("hello","me"));  
      Console.WriteLine(str1.Split('m'));  
  }Top

相关问题

  • c#每日一题(十四)
  • c#每日一题(一)
  • c#每日一题(二)
  • c#每日一题(三)
  • c#每日一题(六)
  • c#每日一题(七)
  • c#每日一题(八)
  • c#每日一题(九)
  • c#每日一题(十)
  • c#每日一题(十一)

关键词

  • c#
  • 字母
  • 字符
  • me
  • null
  • 字符串
  • 输出
  • writeline
  • hello
  • console

得分解答快速导航

  • 帖主:VBDN
  • fuchen_yan
  • sskset
  • ivorstar
  • Ivony
  • vrace

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo