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

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

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

  [題目分析]本題要求字符串s拆分成字符串s和字符串s要求字符串s按給定長度n格式化成兩端對齊的字符串即長度為n且首尾字符不得為空格字符算法從左到右掃描字符串s找到第一個非空格字符計數到n第n個拷入字符串s的字符不得為空格然後將余下字符復制到字符串s

  void format (char *s*s*s)//將字符串s拆分成字符串s和字符串s要求字符串s是長n且兩端對齊
  {char *p=s *q=s;
  int i=;
  while(*p!= \ && *p== ) p++;//濾掉s左端空格
  if(*p== \) {printf(字符串s為空串或空格串\n);exit();}
  while( *p!=\ && i<n){*q=*p; q++; p++; i++;}//字符串s向字符串s中復制
  if(*p ==\){ printf(字符串s沒有%d個有效字符\nn); exit();}
  if(*(q)== ) //若最後一個字符為空格則需向後找到第一個非空格字符
  {p ;//p指針也後退
  while(*p== &&*p!=\) p++;//往後查找一個非空格字符作串s的尾字符
  if(*p==\) {printf(s串沒有%d個兩端對齊的字符串\nn); exit();}
  *q=*p; //字符串s最後一個非空字符
  *(++q)=\; //置s字符串結束標記
  }
  *q=s;p++; //將s串其余部分送字符串s
  while (*p!= \) {*q=*p; q++; p++;}
  *q=\; //置串s結束標記
  }

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


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