编程序(用字符指针或数组名做函数参数)从字符串中删除所有小写字母c

如题所述

第1个回答  推荐于2016-06-28
#include <stdio.h>
void main()
{ char s[80]; int i,j;
printf("Enter a string: "); gets(s);
printf("The original string: "); puts(s);

for(i=j=0; s[i]!='\0'; i++)
if(s[i]=99)
/************found1************/
s[i]=255;
/************found2************/
s[i]='\0';
printf("The string after deleted : "); puts(s);printf("\n\n");
}追问

运行不出来

追答

#include *-*
void main()
{ char s[80]; int i,j;
printf("Enter a string: "); gets(s);
printf("The original string: "); puts(s);

for(i=j=0; s[i]!='\0'; i++)
{
if(s[i]!='c')
{s[j]=s[i];j++;}
}
s[j]='\0';
printf("The string after deleted : "); puts(s);printf("\n\n");
}

本回答被提问者和网友采纳
第2个回答  2011-05-25
#include <stdio.h>
int fun(char *a,int n) //a为数组指针,n为数组长度
{
int i,j;
for(i=0;i<n;i++)
{
if(a[i]=='c')
{
j=i;
while(j<n)
{
a[j]=a[j+1];
j++;
}
n--;
i--;
}
}
return n; //返回改后数组长度
}
int main()
{
char p[20],ch;
int i=0;
ch=getchar();
while( ch!='\n')
{
p[i]=ch;
ch=getchar();
i++;
}
int s;
s=fun(p,i);
for(i=0;i<s;i++)
printf("%c",p[i]);
// while(1);
return 0;
}追问

不能运行啊

追答

我在DEV C++平台下可以运行呀,你什么平台?

追问

Visual C++

追答

你是新建了一个控制台应用程序吧,写在.cpp里面吧?要不你把报的错误发过来,我看看

追问

G:\c\14\bbb.cpp(3) : warning C4518: 'int ' : storage-class or type specifier(s) unexpected here; ignored
G:\c\14\bbb.cpp(3) : error C2146: syntax error : missing ';' before identifier 'fun'
G:\c\14\bbb.cpp(3) : fatal error C1004: unexpected end of file found

上面加了两行

第3个回答  2011-05-25
#include <stdio.h>
#include <stdlib.h>
#define N 50
void func(char* from,char* to);
int main(void)
{
char from[N];
char to[N];
scanf("%s",from);
func(from,to);
printf("%s\n",to);
}
void func(char* from,char* to)
{
int i=0;
int j=0;
for(;i<strlen(from);i++)
{
if(from[i]>='a'&&from[i]<='z')
continue;
to[j++]=from[i];
}
to[j]='\0';
}
第4个回答  2011-06-02
#include<stdio.h>
void main( )
{
char s[20], ch;
int i,j=0;
printf("Please input a string:\n");
gets(s);
printf("Please input a character:\n");
ch=getchar();
for( i=0;s[i]; i++ )
if(s[i]!=ch)
{ s[j]=s[i];
j++;

} s[j]='\0';
puts(s);
}

第5个回答  2012-05-27
应该是这样吧:
#include <stdio.h>
void main()
{ char s[80]; int i,j;
printf("Enter a string: ");
gets(s);
printf("The original string: ");
puts(s);

for(i=j=0; s[i]!='\0'; i++)
{
if(s[i]>=99&& s[i]<=255)

s[i]=' ';
printf("The string after deleted : ");
puts(s);
printf("\n\n");
}