字符串移动,字符串为*号和26个字母的任意组合,把*都移动到最左侧,字母移动到右侧,顺序不变

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#define   MAX     256

void  move_stars(char* str) {
    int len = strlen(str) - 1;
    char* p = str + len;
    char* q = p;
    for (;len >= 0; --len, --q) {
        if (isalpha(*q)) {
            *p-- = *q;
        }
    }
    ++p;
    while (str != p) {
        *str++ = ‘*‘;
    }
}

int  main(void) {
    char  str[MAX];
    fgets(str, MAX, stdin);
    str[strlen(str)-1] = ‘\0‘;
    move_stars(str);
    fprintf(stderr, "%s\n", str);
    system("pause");
    return  0;
}

字符串移动,字符串为*号和26个字母的任意组合,把*都移动到最左侧,字母移动到右侧,顺序不变

时间: 2024-10-14 15:53:05

字符串移动,字符串为*号和26个字母的任意组合,把*都移动到最左侧,字母移动到右侧,顺序不变的相关文章

C语言:将字符串中的前导*号全部移到字符串的尾部。

//规定输入的字符串中只包含字母和*号,fun函数:将字符串中的前导*号全部移到字符串的尾部. 1 #include <stdio.h> 2 void fun( char *a ) 3 { 4 char b[81]; 5 char *c,*d; 6 c = a; 7 int i = 0; 8 while (*c == '*') 9 { 10 c++; 11 } 12 d = c; 13 while (*c != '\0') 14 { 15 b[i] = *c; 16 i++; 17 c++;

*字符串-05. 字符串循环左移

1 /* 2 * Main.c 3 * D5-字符串-05. 字符串循环左移 4 * Created on: 2014年8月19日 5 * Author: Boomkeeper 6 ********部分通过******* 7 */ 8 9 #include <stdio.h> 10 11 int main(void){ 12 13 char str[100]={0}; 14 int N=0; 15 int endIndex=99;//字符串的结尾标识符 16 17 gets(str); 18

字符串-04. 字符串逆序

1 /* 2 * Main.c 3 * D4-字符串-04. 字符串逆序 4 * Created on: 2014年8月19日 5 * Author: Boomkeeper 6 *******测试通过****** 7 */ 8 9 #include <stdio.h> 10 11 int main(void){ 12 13 char str[80]; 14 15 gets(str); 16 17 int i; 18 for(i=0;i<80;i++){ 19 if(str[i]=='\0

实验报告:统计字符串中子字符串出现的次数

实验报告 源程序: 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int cntstring(char *source,char *substr); 5 void main() 6 { 7 char str1[50],str2[20]; //str1 为主字符串,str2 为子字符串 8 cout<<"input source string:"; 9 cin.get

C#比较字符串及字符串常用函数

C#比较字符串及字符串常用函数示例2007年08月26日 星期日 下午 02:29用C#比较字符串有多种方法,如: 1. string.Compare(x,y);2. string.Equals(x,y) ; 如果要不区分大小写进行比较,则对应为:string.Compare(x,y);string.Equals(x,y); 注:string.Compare比较结果的含义: 值含义 小于零x 小于 y. 或 x 为 空引用(在 Visual Basic 中为 Nothing). 零x 等于 y.

Objective C -2 - 随机数,可变字符串,字符串,SubString

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 int main(int argc, const char * argv[]) {     @autoreleasepool {                           NSString *outputString = @"[email protected]#$%^&*()"

SQL 拼接字符串(字符串中有变量) 转载的

http://blog.csdn.net/sikaiyuan2008/article/details/7848926 sql server数据库存储sql SQL SERVER拼接字符串(字符串中有变量)  总是忘记规律,转载过来以帮助记忆. 一.拼接字符串(整个字符串不分割)步骤: 首先在字符串的前后加单引号: 字符串中的变量以'''[email protected]+'''在字符串中表示: 若在执行时存在类型转换错误,则应用相应的类型转换函数,对变量进行类型转换(如cast()函数). 示例

【字符串】字符串包含问题的最优解

题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短.请问,如何最快地判断字符串B中所有字母是否都在字符串A里? 为了简单起见,我们规定输入的字符串只包含大写英文字母,请实现函数bool StringContains(string &A, string &B) 比如,如果是下面两个字符串: String 1:ABCD String 2:BAD 答案是true,即String2里的字母在String1里也都有,或者说String2是String1的真子集. 如果是

字符串-05. 字符串循环左移(20)

输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整数N. 输出格式: 在一行中输出循环左移N次后的字符串. 输入样例: Hello World! 2 输出样例: llo World!He import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(St