用c语言编写程序删除字符串中间的'*'号

作者&投稿:子车盛 (若有异议请与网页底部的电邮联系)
c语言编程 删除任意字符串中前导*号中间和后面的*号保留 请写出完整程序~

#include "stdio.h"
#include "string.h"
void main(void){
char a[200]="*****abcdefghijklmn*oq*rst**uvwxyz&****",*p=a;
while(*p=='*') p++;
printf("%s
",strcpy(a,p));
}

#include int main(){ char s[100]; int i,j; gets(s); for(i=0,j=0;s[i]!='\0';i++) { if(s[i]!='*') s[j++]=s[i]; } s[j]='\0'; printf("%s",s);}

已通过编译,而且除了printf()和scanf()之外,什么库函数都没用。
void main(void)
{ char *str,i;
do
{ printf("Please input:\n");
scanf("%s",str);
for(i=0;str[i]!='\0';i++);
}while(i==0);
i=fun(str,i-1); /*自定义的函数,负责删除'*'*/
printf("%s\n",str+i);/*从第i位(即第一个不是'*'的那一位)开始显示*/
}
int fun(char *str,int j)
{ int i,f1=0,f2=0; /*f1与f2是标志变量,当他俩都为1时,则以删除完了*/
for(i=0;i!=j&&f1*f2==0;)
{ if(str[i]=='*') i++; /*如果是'*',下标后移,否则将f1置1*/
else f1=1;
if(str[j]=='*') j--;/*如果是'*',下标前移.否则f2置1,并将后一位置'\0'*/
else { str[j+1]='\0';f2=1; }
}
return i;
}

#include <stdio.h>

int main(){

    char s[] = "**AB***CDE******FG*****HI***";

    char r[] ="";

    int length = sizeof(s) / sizeof(char); 

    printf("The Length is '%d'.
",length);

    int j =0;

    for (int i = 0; i < length; ++i)

    {

          if (s[i] != '*')

          {

              r[j] = s[i];  

              j++;

          }

    }

    printf("The result is '%s'.
",r);

}



#include<stdio.h>
int main()
{
int i=0, j = 0;
char str1[100], str2[100];
scanf_s("%s", str1,100);
while ( str1[i] != '\0')
{
if (str1[i] != '*')
{
str2[j] = str1[i];
j++;
}
i++;

}
str2[j] = '\0';
printf("%s\n", str2);
return 0;
}
其中scan_s那一列中的 _s 和 ,100 是由于在visual studio 2019上编写的,其他编译器可能不一定需要,去掉即可

给,已经编译运行确认:
#include<conio.h>
#include<stdio.h>

#define N 50 //定义字符串最长为50个字符

int main()
{
int length=0,head,tail;
int i,j;
char str[N]={NULL};
char temp;

printf("Please input a string: \n");
gets(str);

while(str[length++]);//统计字符串长度

for(head=0;head<length;head++) //记录从头起第一个不为*的成员的位置
if(str[head]!='*') break;

length--;

for(tail=length-1;tail>=head;tail--)//记录从尾起第一个不为*的成员的位置
if(str[tail]!='*') break;

for(i=head;;)
{
if(i>=tail) break; //如果中间值都已经检测完毕,退出循环
if(str[i]=='*') //遇到中间的*
{
for(j=i;str[j]!='\0';j++)//删除*
{
str[j]=str[j+1];
}
tail--;//尾计数相应的减一
}
else i++;//检测下一个
}

printf("%s",str);

getch();
return 0;
}


c语言编写一个程序,实现查找一个字符串中的特定字符,并将其删除.
二、操作过程 三、参考程序 include <stdio.h>#include <string.h>\/* 移除字符串source中的所有ch字符 *\/void remove(char *source, char ch);void main(){char source[1000];char ch;printf("请输入一个字符串:");gets(source);printf("请输入待删除字符:");ch = getchar();remove(...

请问在编写程序时如何删除相同的代码(c语言)?
编辑-查找和替换:将\\t\\t\\n替换为\\n,勾选全字匹配,点击全部替换

用c语言编写程序:输入任意一串字符,字符若连续出现多次,则只保留一个...
include<stdio.h>#include<string.h>void main(){char a[100],b[100];int j=0,n,len,flag,s=0;printf("请输入一个字符串:\\n");scanf("%s",a);printf("删除前的字符串:\\n");printf("%s\\n",a);n=strlen(a); \/\/ 获取输入字符串的长度b[0] = a[0]; \/\/ 将 a 字符串的...

c语言怎样删除文件
首先要说明的是这里并不是指删除C编译器里面的文件,呵呵,如果只是要删除那些文件的话,那就很简单,直接选中文件后按delete键就可以删除了,但是我们删除那些文件干嘛?我们还要用它写程序啊,呵呵。我在这里要说的是,怎样使用C语言编写程序来删除文件。在C语言中,我们可以使用remove()函数来删除指定...

用c语言编写程序,实现单链表的建立(数据元素为1,2,3,4,5,6),遍历,查...
{ while (a->next != NULL){ printf("%d\\t", a->val);a = a->next;} printf("\\n");} \/\/ 插入 void insert(struct node *a, struct node *b, int n){ int i;for (i = 1; i < n - 1; i++)a = a->next;b->next = a->next;a->next = b;} \/\/ 删除 void ...

如何用C语言编写程序删除一个文件夹
告诉你一个最间的例子。你在G盘下面新建一个空文件夹xx 然后运行这个程序:include <stdio.h> include <stdlib.h> void main(){ system("rd G:\\\\xx");} 注意没有G盘用其它盘也可以,Vista不要用C盘。试试吧。这个应该是最简单的方式了。呵呵。

用C语言编写从字符数组S中删除存放在数组C中的字符的程序,急,在线...
include <stdio.h> include <malloc.h> include <string.h> void deleteChar(char *s,char *c){ int slength= strlen(s);int clength= strlen(c);int* target = (int *)malloc(slength*sizeof(int));for(int i=0;i<slength;i++){ target[i]=0;} for(i=0;i<slength;i++)f...

编写一个C语言程序:从键盘输入一个字符串,删除该字符串所有首部和尾部的...
include <stdio.h>#include <string.h>int main(){int len,j;char a[100];scanf("%s",a);\/\/由于不知道要输入多少,所以以字符输入len=strlen(a);for(int i=1;i<(len-1);i++){printf("%d",a[i]-'0');\/\/再转化成数字}return 0;} ...

用C语言编写程序,输入一个字符串,删除字符串中的所有数字字符后,输出此...
include "stdio.h"include "string.h"void main(){ char str[500];int i;printf("请输入字符串:\\n");gets(str);for(i=0;i<strlen(str);i++){ if(str[i]==' '||(str[i]>='0'&&str[i]<='9'))continue;else printf("%c",str[i]);} printf("\\n");} ...

c语言编写删除字符串中所有字母的程序。
\/\/程序功能:编写一个函数delchar(s,c),该函数将字符串s中出现的所有c字符删除。\/\/ 在主程序中输入一个字符c和一个字符串s,调用delchar(s,c)函数删除字符串s中 \/\/ 所有的c字符,然后输出删除后的字符串。\/\/例 如:输入字符a和字符串li wang zha jin xiao,输出:li wng zh ji...

离石区15567198488: 编写函数,删除字符串中间的星号(*).函数声明为: void delete(char *s); -
励琪抗骨: // 假定参数s指向以0结尾的C语言字符串 void delete(char* s) {if(s!=NULL){char* p = s;char* q = s;while ((*q)!=0){if((*q)!='*'){if(p!=q){(*p)=(*q);}p++;}q++;}(*p)=0;} }

离石区15567198488: C语言问题62 编写个函数 要求删除字符串尾部全部的*号,前面和中间的*不删 -
励琪抗骨: 你好!!!修改如下:#include<stdio.h>#include<conio.h>#include<string.h> void proc(char *str) { int i=0,k; k=strlen(str); while(k>=0) { if(str[k-1]=='*') { str[k-1]='\0'; k--;} else break; } } void main() { char w[81]; printf("enter:\n"); scanf("%s",w);...

离石区15567198488: C语言编程删除字符串中及尾部*并输出 -
励琪抗骨: #include<stdio.h> void main() { char a[100]; int i,j; gets(a); for(i=0;a[i]!='\0';i++) if(a[i]!='*') a[j++]=a[i]; a[j]='\0'; puts(a); }

离石区15567198488: 编写函数实现删除一字符串中的'*' -
励琪抗骨: 另外开辟一个字符数组,void delete(char s[],char t[]) {int i,j; for(i=j=0;s[i]!='\0';i++) if(s[i]!='*') t[j++]=s[i]; t[j]='\0'; } 在原字符串上直接删除 void delete(char s[],char t[]) {int i,j; for(i=0;s[i]!='\0';i++) if(s[i]=='*'){ for(j=i+1;s[j]!='\0';j++) s[j-1]=s[j]; s[j-1]='\0'; i--;} }

离石区15567198488: C语言 - 删除字符串中的字符. -
励琪抗骨: c语言中书写删除字符串中某个字符的程序的具体操作步骤如下: 1、编写头函数,包括“#include <stdio.h>.”与“#include <string.h>.“. 2、定义两个相同容量的字符串储存的变量 char a【100】; char b【100】.以及整数变量 int c;int i=0,j...

离石区15567198488: c语言中如何在字符串中删除字符 不用函数 急急急! -
励琪抗骨: 你为什么sacnf("%d",&i);这是什么意思,要求只输入字符串和字符啊.另外,你puts后面为什么没有}呢.还有让删除指定的字符,并不是删除指定字符后面的所有字符,你为什么要直接\0了.判断相等应该使用==#include<stdio.h> main() { char str[30]; char ch; int i,j; gets(str); scanf("%c",&ch); j=0; for(i=0;str[i];i++) if(str[i]!=ch) str[j++]=str[i]; str[j]='\0'; puts(str); }

离石区15567198488: C语言编程删除*问题 -
励琪抗骨: void fun(char *s) { int i=0, j=0; while(s[i]!=0) { if(s[i]=='*') { s[j] = s[i+1]; } else { s[j] = s[i]; j++; } i++; } }

离石区15567198488: C语言“在字符串中删除指定的字符”?怎么编写程序 -
励琪抗骨: 从字符数组中删除特定的字符,即输入要删除的指定字符,利用for循环找到非指定字符,将非指定字符输出即可.以下为具体的实现方法: #include<stdio.h> int main() { char str[100],c; int j,k; printf("please input a string:"); gets(str); printf("\...

离石区15567198488: c语言编程 删除任意字符串中前导*号中间和后面的*号保留 请写出完整程序 -
励琪抗骨: #include "stdio.h" #include "string.h" void main(void){char a[200]="*****abcdefghijklmn*oq*rst**uvwxyz&****",*p=a;while(*p=='*') p++;printf("%s\n",strcpy(a,p)); }

离石区15567198488: 用C语言编写一段程序:删除字符串中的空格,并将原空格后首字母改写为大写字母. -
励琪抗骨: int main(int argc, char* argv[]) {char str[] = "Whatever with the past has gone, the best is always yet to come."; char *p = str;char *p1 = str;bool is_space = false; //用于标记上一个字符是否为空格 char ch;while ( (ch = *p++) != '\0'){if (ch == ' '...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网