本文共 1120 字,大约阅读时间需要 3 分钟。
题目:请实现一个函数,把字符串中的每个空格替换为“20%”。例如输入“we are happy”,则输出“we20%are20%happy”;
#include#include #include void replaceBlank(char string[],int len){ int oriLen = 0; //oriLen = 0; int numOfBlank = 0; int i = 0; int newLen; int indexOfOriginal; int indexOfNew; if(string==NULL&&len<=0) { return; } while(string[i]!='\0') { ++oriLen; if(string[i]==' ') { ++numOfBlank; } ++i; } newLen = oriLen + numOfBlank * 2; if(newLen > len) { return; } indexOfOriginal = oriLen; indexOfNew = newLen; while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal) { if(string[indexOfOriginal] == ' ') { string[indexOfNew--] = '0'; string[indexOfNew--] = '2'; string[indexOfNew--] = '%'; } else { string[indexOfNew--] = string[indexOfOriginal]; } --indexOfOriginal; }printf("%s",string);}void main(){ char string[20] = "we are happy"; replaceBlank(string,30);}