一、刪除前綴 '*'
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 //主函數 7 int main() 8 { 9 char chr[20],*b,*p; //字符串緩沖區;字符串頭指針;字符串臨時指針 10 int chr_num=0,b_num=0; //輸入的字符串中字符的個數;輸入的字符串中前綴 * 的個數 11 int i; 12 13 //輸入 14 cout<<"Please input a string:"<<endl; 15 gets(chr); 16 17 //統計輸入的字符串中字符的個數 18 p=chr; // p 指向字符串的第一個字符 19 while(*p++) 20 { 21 chr_num++; 22 } 23 24 //統計輸入的字符串中前綴 * 的個數 25 b=chr; // b 指向字符串的第一個字符 26 while(*b++=='*') 27 { 28 b_num++; 29 } 30 31 //刪除輸入的字符串中的前綴 * 32 for(i=0;i<chr_num-b_num;i++) 33 { 34 chr[i]=chr[i+b_num]; 35 } 36 chr[i]='\0'; 37 38 //輸出 39 cout<<"The result:"<<endl; 40 puts(chr); 41 42 return 0; 43 } View Code二、刪除後綴 '*'
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 //主函數 7 int main() 8 { 9 char chr[20],*t,*p; //字符串緩沖區;字符串尾指針;字符串臨時指針 10 int chr_num=0,t_num=0; //輸入的字符串中字符的個數;輸入的字符串中後綴 * 的個數 11 12 //輸入 13 cout<<"Please input a string:"<<endl; 14 gets(chr); 15 16 //統計輸入的字符串中字符的個數 17 p=chr; // p 指向字符串的第一個字符 18 while(*p++) 19 { 20 chr_num++; 21 } 22 23 //統計輸入的字符串中後綴 * 的個數 24 t=chr+chr_num-1; // t 指向字符串的最後一個字符 25 while(*t--=='*') 26 { 27 t_num++; 28 } 29 30 //刪除輸入的字符串中的後綴 * 31 chr[chr_num-t_num]='\0'; 32 33 //輸出 34 cout<<"The result:"<<endl; 35 puts(chr); 36 37 return 0; 38 } View Code三、刪除前綴和後綴 '*'
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 //主函數 7 int main() 8 { 9 char chr[20],*b,*t,*p; //字符串緩沖區;字符串頭指針;字符串尾指針;字符串臨時指針 10 int chr_num=0,b_num=0,t_num=0; //輸入的字符串中字符的個數;輸入的字符串中前綴 * 的個數;輸入的字符串中後綴 * 的個數 11 int i; 12 13 //輸入 14 cout<<"Please input a string:"<<endl; 15 gets(chr); 16 17 //統計輸入的字符串中字符的個數 18 p=chr; // p 指向字符串的第一個字符 19 while(*p++) 20 { 21 chr_num++; 22 } 23 24 //統計輸入的字符串中前綴 * 的個數 25 b=chr; // b 指向字符串的第一個字符 26 while(*b++=='*') 27 { 28 b_num++; 29 } 30 31 //統計輸入的字符串中後綴 * 的個數 32 t=chr+chr_num-1; // t 指向字符串的最後一個字符 33 while(*t--=='*') 34 { 35 t_num++; 36 } 37 38 //刪除輸入的字符串中的前綴和後綴 * 39 for(i=0;i<chr_num-b_num-t_num;i++) 40 { 41 chr[i]=chr[i+b_num]; 42 } 43 chr[i]='\0'; 44 45 //輸出 46 cout<<"The result:"<<endl; 47 puts(chr); 48 49 return 0; 50 } View Code四、刪除中間 '*'
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 //主函數 7 int main() 8 { 9 char chr[20],*b,*t,*p; //字符串緩沖區;字符串頭指針;字符串尾指針;字符串臨時指針 10 int chr_num=0; //輸入的字符串中字符的個數;輸入的字符串中前綴 * 的個數;輸入的字符串中後綴 * 的個數 11 int i; 12 13 //輸入 14 cout<<"Please input a string:"<<endl; 15 gets(chr); 16 17 //統計輸入的字符串中字符的個數 18 p=chr; // p 指向字符串的第一個字符 19 while(*p++) 20 { 21 chr_num++; 22 } 23 24 //令 b 指向字符串中前綴 * 之後的第一個字符 25 b=chr; // b 指向字符串的第一個字符 26 while(*b++=='*'); 27 28 //令 t 指向字符串中後綴 * 之前的第一個字符 29 t=chr+chr_num-1; // t 指向字符串的最後一個字符 30 while(*t--=='*'); 31 32 //刪除字符串中間的 * 33 p=b; //令 p 指向字符串中前綴 * 之後的第一個字符 34 while(b<=t) 35 { 36 if(*b!='*') 37 { 38 *p=*b; 39 p++; 40 b++; 41 } 42 else 43 { 44 b++; 45 } 46 } 47 ++t; //令 t 指向字符串中後綴 * 的第一個 * 48 while(*t) 49 { 50 *p=*t; 51 p++; 52 t++; 53 } 54 *p='\0'; 55 56 //輸出 57 cout<<"The result:"<<endl; 58 puts(chr); 59 60 return 0; 61 } View Code五、把字符串中的前綴 * 移動到字符串的末尾
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 //主函數 7 int main() 8 { 9 char chr[20],*b,*p; //字符串緩沖區;字符串頭指針;字符串尾指針;字符串臨時指針 10 int chr_num=0,b_num=0; //輸入的字符串中字符的個數;輸入的字符串中前綴 * 的個數 11 int i; 12 13 //輸入 14 cout<<"Please input a string:"<<endl; 15 gets(chr); 16 17 //統計輸入的字符串中字符的個數 18 p=chr; // p 指向字符串的第一個字符 19 while(*p++) 20 { 21 chr_num++; 22 } 23 24 //統計輸入的字符串中前綴 * 的個數 25 b=chr; // b 指向字符串的第一個字符 26 while(*b++=='*') 27 { 28 b_num++; 29 } 30 31 //把字符串中的前綴 * 移動到字符串的末尾 32 for(i=0;i<chr_num-b_num;i++) //刪除輸入的字符串中的前綴 * 33 { 34 chr[i]=chr[i+b_num]; 35 } 36 while(i<chr_num) //在字符串的末尾添加與前綴個數相同的 * 37 { 38 chr[i++]='*'; 39 } 40 chr[i]='\0'; 41 42 //輸出 43 cout<<"The result:"<<endl; 44 puts(chr); 45 46 return 0; 47 } View Code六、把字符串中的後綴 * 移動到字符串的開頭
七、使字符串的前綴 * 不多於 n 個
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 //主函數 7 int main() 8 { 9 char chr[20],*b,*p; //字符串緩沖區;字符串頭指針;字符串尾指針;字符串臨時指針 10 int chr_num=0,b_num=0; //輸入的字符串中字符的個數;輸入的字符串中前綴 * 的個數;輸入的字符串中後綴 * 的個數 11 int i,n=5; 12 13 //輸入 14 cout<<"Please input a string:"<<endl; 15 gets(chr); 16 17 //統計輸入的字符串中字符的個數 18 p=chr; // p 指向字符串的第一個字符 19 while(*p++) 20 { 21 chr_num++; 22 } 23 24 //統計輸入的字符串中前綴 * 的個數 25 b=chr; // b 指向字符串的第一個字符 26 while(*b++=='*') 27 { 28 b_num++; 29 } 30 31 //使字符串的前綴 * 不多於 n 個 32 if(b_num>n) 33 { 34 //刪除輸入的字符串中的前綴和後綴 * 35 for(i=0;i<chr_num-b_num;i++) 36 { 37 chr[i+n]=chr[i+b_num]; 38 } 39 chr[i+n]='\0'; 40 } 41 42 //輸出 43 cout<<"The result:"<<endl; 44 puts(chr); 45 46 return 0; 47 } View Code八、使字符串的後綴 * 不多於 n 個
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 //主函數 7 int main() 8 { 9 char chr[20],*t,*p; //字符串緩沖區;字符串頭指針;字符串尾指針;字符串臨時指針 10 int chr_num=0,t_num=0; //輸入的字符串中字符的個數;輸入的字符串中前綴 * 的個數;輸入的字符串中後綴 * 的個數 11 int i,n=5; 12 13 //輸入 14 cout<<"Please input a string:"<<endl; 15 gets(chr); 16 17 //統計輸入的字符串中字符的個數 18 p=chr; // p 指向字符串的第一個字符 19 while(*p++) 20 { 21 chr_num++; 22 } 23 24 //統計輸入的字符串中後綴 * 的個數 25 t=chr+chr_num-1; // t 指向字符串的最後一個字符 26 while(*t--=='*') 27 { 28 t_num++; 29 } 30 31 //使字符串的後綴 * 不多於 n 個 32 if(t_num>n) 33 { 34 chr[chr_num-t_num+n]='\0'; 35 } 36 37 //輸出 38 cout<<"The result:"<<endl; 39 puts(chr); 40 41 return 0; 42 } View Code