数据结构

位置:IT落伍者 >> 数据结构 >> 浏览文章

数据结构考研分类复习真题 第四章 答案[19]


发布日期:2023年05月14日
 
数据结构考研分类复习真题 第四章 答案[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结束标记

}

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

               

上一篇:数据结构考研分类复习真题 第四章 答案[20]

下一篇:数据结构考研分类复习真题 第四章 答案[18]