精华内容
下载资源
问答
  • 从第i个字符连续删除n个字符
    千次阅读
    2021-04-12 00:02:52
    #include<stdio.h>
    void d(char s[],int i,int n)
    {
        int j,k,length=0;
        while(s[length])length++;
        i--;j=i;
        if (i<length)
        {
            k=i+n;
            if(i+n<=length)
            while (k<length)s[j++]=s[k++];
            s[j]=s[k];
        }
    }
    void main()
    {
        char a[20];
        scanf("%s",a);
        d(a,2,2);
        puts(a);
    }

     

    更多相关内容
  • C语言程序设计-编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符(注意str[0]代表字符串的个字符);.c
  • //编写一fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符 #include<stdio.h> #include<string.h> #define N 10 void fun(char s[N],int i,int n) { strcpy(s+i-1,s+i+n-1); printf...
    
    //编写一个fun(str,i,n),从字符串str中删除第i个字符开始的连续的n个字符
    
    #include<stdio.h>
    #include<string.h>
    #define N 10
    void fun(char s[N],int i,int n)
    {   
         strcpy(s+i-1,s+i+n-1);
    	 printf("%s",s);
    }
    int main()
    {
    	char str[N];
      int i,n;
      printf("任意输入一个字符串:\n");
      scanf("%s",str);
      printf("输出你刚才输入的字符串:::\n");
      printf("%s\n",str);
      printf("请输入你要从什么位置删除这个元素\n");
      scanf("%d",&i);
      printf("请问您要删除连续多少个字符:\n");
      scanf("%d",&n);
      fun(str,i,n);
      return 0;
    }

     

    第二种方法不用系统函数strcpy实现的。

    
    #include<stdio.h>
    #include<string.h>
    #define N 10
    void fun(char s[N],int i,int n)
    {   
         //strcpy(s+i-1,s+i+n-1);换一种方法实现来实现
          int j=i-1,k,x=strlen(s);
       for(;(j+n<x)&&(j<i+n);j++)
    	
    		 *(s+j)=*(s+j+n);
          s[j]='\0';
    	 printf("%s",s);
    }
    int main()
    {
    	char str[N];
      int i,n;
      printf("任意输入一个字符串:\n");
      scanf("%s",str);
      printf("输出你刚才输入的字符串:::\n");
      printf("%s\n",str);
      printf("请输入你要从什么位置删除这个元素\n");
      scanf("%d",&i);
      printf("请问您要删除连续多少个字符:\n");
      scanf("%d",&n);
      fun(str,i,n);
      return 0;
    }

     

    啊啊啊,最后一种方法好像有点错误。。。求指正!!!!

     

    //编写一个fun(str,i,n),从字符串str中删除第i个字符开始的连续的n个字符
    
    #include<stdio.h>
    #include<string.h>
    #define N 10
    void fun(char s[N],int i,int n)
    {   
         //strcpy(s+i-1,s+i+n-1);换一种方法实现来实现
    //把从i-1开始到n+i-2
    	int j=0,b[N],k=0;
    	while(s[j]!='\0')
    	{
    		if((j>=i-1)&&j<=(i+n-2)&&(i+n)<strlen(s))
    		{   j++;
    			continue;	
    		}
    		else
    		{
    			 b[k++]=s[j];
    			 j++;
    
    		}
    	}
    	printf("%s",b);
    
    }
    int main()
    {
    	char str[N];
      int i,n;
      printf("任意输入一个字符串:\n");
      scanf("%s",str);
      printf("输出你刚才输入的字符串:::\n");
      printf("%s\n",str);
      printf("请输入你要从什么位置删除这个元素\n");
      scanf("%d",&i);
      printf("请问您要删除连续多少个字符:\n");
      scanf("%d",&n);
      fun(str,i,n);
      return 0;
    }

    有点头大,,搞出来的小伙伴记得指正下

    展开全文
  • #include<stdio.h> #include<string.h> void main() { void fun(char str[], int i, int n); char str[81];... int i, n;... printf("请输入删除位置i和待删字符个n的值:\n"); scanf_s(.
    #include<stdio.h>
    #include<string.h>
    void  main()
    {
    	void fun(char str[], int i, int n);
    	char str[81];
    	int i, n;
    	printf("请输入字符串str的值:\n");
    	scanf_s("%s", str,81);
    	printf("你输入的字符串str是:%s\n", str);
    	printf("请输入删除位置i和待删字符个数n的值:\n");
    	scanf_s("%d%d", &i, &n);
    	while (i + n - 1 > strlen(str))
    	{
    		printf("删除位置i和待删字符个数n的值错!请重新输入i和n的值\n");
    		scanf_s("%d%d", &i, &n);
    	}
    	fun(str, i, n);
    	printf("删除后的字符串str是:%s\n", str);
    }
    void  fun(char str[], int i, int n)
    {
    	/**********Begin**********/
    	int m,h;
    	h = i;
    	for (; h< i + n; h++)
    	{
    		for (m = i-1; m < strlen(str)+1; m++)
    		{
    			str[m] = str[m + 1];
    		}
    		
    	}
    
    
    	/**********  End  **********/
    }

    展开全文
  • #include <stdio.h> #include <string.h> #define N 20 //字符数 void fun(char str[], int m, int... while(str[m-1+n]) //字符串中从第m个字符开始之后n个字符后不为’\0’ { str[m-1]=str[m-1+n];
    #include <stdio.h>
    #include <string.h>
    #define N 20   //字符串个数
    void fun(char str[], int m, int n)
    {
    	int len=strlen(str);
    	if((len-m+1)<n) n=len-m+1; //更改要删除的字符数
       while(str[m-1+n]) //字符串中从第m个字符开始之后n个字符后不为’\0’
       {
        str[m-1]=str[m-1+n];   //从字符串第m个字符开始依次将之后第*n+1个字符向前移动n个字符
        m++;
       }
      str[m-1]='\0';
    }
    
    main()
    {
     char s[N];
     int i,n;
     printf("请输入一组字符串:");
     gets(s);
     printf("输入从第几个开始: ");
     scanf("%d",&i);
     printf("输入删除几个字符:");
     scanf("%d",&n);
     fun(s,i,n);    //函数调用
     printf("删除后的字符串为",s,i,n);
    }
    
    
    展开全文
  • 输入两个字符串,从第个字符串中删除第二个字符串中的所有字符 比如输入“They are students." 删除之后的第一个字符串变成"The r stdnts." 思路是利用每个字符都有其对应的ASCII码值,将需要删除字符的ascii为...
  • 嘿,我正在写一程序,它将删除字符串中连续的重复字符。在例如:字符串-&gt;aabbccde一次迭代:bbccde二次迭代:ccde三次迭代:dede就是答案。在下面是我写的程序。在a = "aabbcs"def remove_dups(st,...
  • 删除字符串中连续的重复字符Constraints: 限制条件: (length of string) < 10000 Example: 例: Sample Input 1: bbccbb Sample Output 1: After removing consecutive duplicates, the answer...
  • 给定一个字符串’abbbcdefff4g555ghg111’去除连续重复的元素,得到完全没有连续重复字符的新字符串 具体代码如下: """ 字符串中,连续重复的元素要去除:abbbcdefff4g555ghg111 分析:一次去重得到acde4gghg...
  • 编写一函数,删除串中下标为i字符开始的j个字符,如果下标为i字符后没有足够的j个字符,则有几个删除。 分析 下标为i+j个字符开始,将所有的字符都向前移动j位置,然后将字符串长度缩减为被删除...
  • C语言:编写一函数,删除字符串中指定位置上的字符,若删除成功,返还被删除字符串,否则返还空值。 #include <stdio.h> //删除字符串的元素 ... //注意第n个字符字符串a中的下标为
  • C语言每日一练 2021年10月20日——分析:把字符串当做字符数组来操作即可,删除个字符,可以将该`字符`后面的字符(包括`'\0'`)全部前移一位,`但是`如果字符串中存在多目标字符,则要进行多次移位,所以我采用...
  • 删除多余空格,将字符串中连续的多空格替换成一空格
  • 删除字符串中连续的重复字符

    千次阅读 2019-09-06 21:43:28
    删除字符串中连续的重复字符 功能:实现删除字符串中连续的重复字符(除字母和数字)。 输入为字符串,将字符串中连续重复的,非字母和数字的字符删去,然后输出处理后的字符串。要求用指针指向输入的字符串进行操作...
  • 从第字符串中删除第二个字符串中所有的字符,例如第一个字符串“We are students.”,第二个字符串“aeiou”,则删除后的结果为“W r stdnts.”。通过文章知道,我们可以通过hash表来统计第二个字符串中的字符,...
  • 题目:输入两个字符串,从第字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。    这道题的基本思路就是在第一...
  • 消掉连续3相同的字符

    千次阅读 2020-04-30 14:18:43
    // 消掉连续3相同的字符,结果要看不到任意连续3个字符 20分钟 当时的心理分析 这是一道实际的面试题目,我看到这题时,知道铁定凉了。 首先,时间复杂度方面,从头到尾扫一遍是必然的,O(n)是这题目的极限了,...
  • Regular Expression,正则表达式,又称正规表示式...正则表达式是一特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的...
  • c++ 字符删除

    千次阅读 2022-01-03 18:16:34
    二行为两整数n和m,分别代表字符串的n字符(非下标)和要删除m个连续字符。m+n字符串的长度。 输出 处理后的字符串。 样例输入Copy I love movie 7 6 样例输出Copy I love #include<iostream>...
  • 键盘输入一个字符数组,将其中的大写字母删除。 例如:输入 asdWSE125 输出 asd125 #include<stdio.h> #include<string.h> int main() { char a[100]; int n,i; gets(a); n=strlen(a); for(i=0;i&...
  • 删除字符串中连续字符

    千次阅读 2015-09-20 13:08:23
    title:删除字符串中连续字符 author:王玉杰 time:2015年9月20日13:06:36 */ //content:输入一个字符串,输入要删除的位置及长度,输出完或删除操作后的字符串。 #include #include void main() { char a[50]; ...
  • 输入在2行中分别给出不超过80个字符长度的、以回车结束的2非空字符串,对应S1和S2。 输出格式: 在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。 输入样例: Tomcat is a male ccatat cat 结尾...
  • #include #include #include using namespace std; int main() {  string a;  int m, n;  cout ... cin >> m >> n;... a.erase(a.begin()+m, a.begin()+m+n);  //a.erase(m, n);  co
  • 输入2 个字符串S1 和S2,要求删除字符串S1 中出现的所有子串S2 题目内容: 输入2 个字符串S1 和S2,要求删除字符串S1 中出现的所有子串S2,即结果字符串中不能包含S2。 提示:输入数据的设计使得不可能出现输出为空...
  • public class Ac { ... if (number == i) {// 一次出现的位置和当前位置一致 即一次出现添加 bu.append(c); } } } System.out.println("去重后----:" + bu.toString()); } } 原文链接
  • 字符串开头的*号,我们可以通过一指针来遍历,如果指针指向的字符是*号,则将其存入输出数组中,直到检测到非*号的字符,但这种单向遍历的方法不好判断字符串尾部的*号,比如***aaa***bb***,字符串中间是连续的*...
  • 个字符串中去除多余的空格。

    千次阅读 2018-05-08 22:54:03
    字符串中如果有一地方由一或多个连续的空格组成,就把它们改成单个空格字符。注意当遍历整个字符串时要确保它以NUL字符结尾。 此处的空格的含义包括但不限于空格字符,为什么呢?空格、水平制表、垂直制表、...
  • 今天帮人做了简单的作业,没想到花时间最多的不是算法而是文件的读写,还有对读入字符串的分割处理。晚上写作业的时候又用到了对字符串的处理,这里记录一下。 代码有查阅各种资料,但是成品为原创。 重点是文件...
  • 题目:从字符串的指定位置删除指定长度的子串。例如,一个字符串为"abcdefg",指定从第个字符开始删除长度为3的子串。...//从第n个字符开始,删除连续len个字符 char* remove_lenstr(char* str, int n, i...
  • 编写一程序,清除用户输入字符串中的空格符并将之输出。 更多资料请点击:我的目录 #include <stdio.h> #include <string.h> int main() { char character[120]; printf("请输入字符串:"); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,224
精华内容 53,689
关键字:

从第i个字符连续删除n个字符