程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#--第2周實驗--任務7--編寫一個控制台應用--判斷S所指的字符串是否回文(即順讀和逆讀相同的字符串)

C#--第2周實驗--任務7--編寫一個控制台應用--判斷S所指的字符串是否回文(即順讀和逆讀相同的字符串)

編輯:C#入門知識

/* (程序頭部注釋開始)
* 程序的版權和版本聲明部分
* 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.
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved