你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / C专栏
C#--第2周实验--任务7--编写一个控制台应用--判断S所指的字符串是否回文(即顺读和逆读相同的字符串)
 

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:判断S所指的字符串是否回文(即顺读和逆读相同的字符串)
* 作 者: 雷恒鑫
* 完成日期: 2012 年 09 月 09 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
 
[csharp]
<span style="font-size:24px;">using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
 
namespace ConsoleApplication_do_while 

    class Program 
    { 
        static void Main(string[] args) 
        { 
            Console.WriteLine("这是一个判断您所输入的字符串是否“回文”的程序"); 
            Console.Write("请输入您所要判断的字符串:"); 
            string s = Console.ReadLine(); 
            char[] c = s.ToCharArray(); 
            int i = c.Length; 
            int j = c.Length-1; 
            char[] c1 = new char[c.Length]; 
            //利用foreach语句循环输出数组中每一个元素 
            foreach (char var in c) 
            { 
                c1[j] = var; 
                --j;   //字符串反向读取 
            } 
            //bool m = c1.Equals(c); 
           // Console.WriteLine("返回值为:{0}", m); 
            for (int n = 0; n < c.Length; ++n) 
            { 
                if (c1[n] != c[n]) 
                { 
                    foreach (char var in c) 
                    { 
                        Console.Write(var);  //依次读取字符串中的元素 
 
                    } 
                    Console.Out.WriteLine("不是回文数。"); 
                    break; 
                } 
                if (n == c.Length - 1) 
                { 
                    foreach (char var in c) 
                    { 
                        Console.Write(var); 
       
                    } 
                    Console.Out.WriteLine( " 是回文数。"); 
                } 
            } 
           
             
            Console.ReadKey(); 
        } 
    } 

</span> 

 运行结果:
 

 


 
问题:
1.我用c1.Equals(c)函数,不管c1 和 c两个字符串是否相等,返回值都是False,各位大侠有知道的帮我解答一下,我把这个问题发到论坛上,大家也可以在论坛上给我发帖,谢谢大家了。
以下是这个问题的链接地址:
 
[csharp] 
//bool m = c1.Equals(c); 
// Console.WriteLine("返回值为:{0}", m); 
以下这两行代码的位置在源程序中注释掉了,大家可以解除注释运行一下,看是否和我说的一样。
经验积累:
1.我学会了foreach语句的使用方法,
 
[csharp] 
foreach (char var in c) 
                    { 
                        Console.Write(var);  //依次读取字符串中的元素 
 
                    } 

先执行 in c,在执行 char var.
 

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089