熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構考研分類復習真題 第四章 答案[20]

2013-11-15 14:57:20  來源: 數據結構 

  [題目分析]兩個串的相等其定義為兩個串的值相等即串長相等且對應字符相等是兩個串相等的充分必要條件因此首先比較串長在串長相等的前提下再比較對應字符是否相等

  int equal(strtp sstrtp t)//本算法判斷字符串s和字符串t是否相等如相等返回否則返回
  {if (scurlen!=tcurlen) return ();
  for (i=; i<scurlen;i++)//在類C中一維數組下標從零開始
  if (sch[i]!= tch[i])return ();
  return (); //兩串相等
  }//算法結束

  [問題分析]由於字母共加上數字符號個共所以設一長的整型數組個分量存放數字字符出現的次數余下存放字母出現的次數從字符串中讀出數字字符時字符的ASCII代碼值減去數字字符 的ASCII代碼值得出其數值()字母的ASCII代碼值減去字符A的ASCII代碼值加上存入其數組的對應下標分量中遇其它符號不作處理直至輸入字符串結束

  void Count()//統計輸入字符串中數字字符和字母字符的個數
  {int inum[];
  char ch;
  for(i=;i<;i++)num[i]=0;// 初始化
  while((ch=getchar())!=#) //#表示輸入字符串結束
  if(<=ch<=){i=ch-;num[i]++;}// 數字字符
  else if(A<=ch<=Z){i=ch+;num[i]++;}// 字母字符
  for(i=;i<;i++)  // 輸出數字字符的個數
  printf(數字%d的個數=%d\ninum[i]);
  for(i=;i<;i++)// 求出字母字符的個數
  printf(字母字符%c的個數=%d\ni+num[i]);
  }// 算法結束

[]  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/22603.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.