假定输入的字符串中只包含字母和*号。请编写程序,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言中提供的字符串函数。?
- 提问者网友:溺爱和你
- 2021-07-31 14:26
- 五星知识达人网友:不想翻身的咸鱼
- 2021-07-31 15:07
#include <stdio.h>
#include <conio.h>
void main()
{
char ch;
char a[];
int i=0,N;
while((ch>=65&&ch<=90)||(ch>=97&&ch<=122)||ch=='*')//判断是否是字母或者是*,当不是的时候自动跳出
{
ch=getch();
if(ch!='*')
{
a[i]=ch;
i++;
}
N=i;
for(i=0;i<=N;i++)
printf("%d",i);
}
}
- 1楼网友:逐風
- 2021-07-31 17:38
#include<cstdio>
char s[100];
int main() { scanf("%s",s); for(int i=0;s[i];i++) { if(s[i]!='*') putchar(s[i]); } putchar('\n'); return 0; }
- 2楼网友:鸠书
- 2021-07-31 17:32
#include<stdio.h> void main() { char s[30]; int i,j; gets(s); 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=i-1; } } puts(s); }
- 3楼网友:野慌
- 2021-07-31 16:36
图中第一行为输入, 第二行为输出!
具体代码如下:
#include< stdio.h >
void fun( char *s, char ch ) { int j, i = 0, cnt = 0; while( *(s + cnt) ) cnt++; while( s[ i ] ) { if( s[ i ] == ch ) { j = i; while( s[ j ] ) { s[ j ] = s[ j+1 ]; j++; } i--; } i++; } }
main() { char ch, s[ 50 ]; ch = '*';
gets( s );
fun( s , ch ); puts( s );
}