c语言求助!!!!
定义两个C源程序文件:fmain.c和fstring.c.fmain.c中包含主函数,实现字符串处理功能选项和字符串的输入与结果的输出.fstring.c中包含两个函数d...
定义两个C源程序文件:fmain.c 和 fstring.c.fmain.c中包含主函数,实现字符串处理功能选项和字符串的输入与结果的输出.fstring.c中包含两个函数delchar(s,c)和strreverse (s),实现删除字符和字符串反转功能. delchar(s,c):在主函数中输入字符串和要删除的字符,此函数将字符串s中出现的所有c字符删除;再在主函数中输出删除后的字符串. strreverse (s):在主函数中读入字符串,此函数实现将字符串s反转;再在主函数中输出反转后的字符串。
求大神帮忙看看哪里有问题!!!!
#include<stdio.h>
#include<string.h>
#include"3-fstring.c"
void strreverse(char s[]);
void delchar(char s[],char q);
void main()
{
int a;
char b,s[80],q;
while(1)
{
printf("1.Reverse a string.\n");
printf("2.Delete a character in a string.\n");
printf("Please input your choice:");
fflush(stdin);
scanf("%d",&a);
switch(a)
{
case 1: printf("Enter a string:");
fflush(stdin);
scanf("%s",s);
strreverse(s);
printf("Reversed string is:%s\n",s);
break;
case 2: printf("Enter a string:");
scanf("%s",s);
printf("Enter a character you want to delete:");
fflush(stdin);
scanf("%c",&q);
delchar(s,q);
printf("Deleted string is:%s\n",s);
break;
}
printf("Would you like to continue?(y/n)");
fflush(stdin);
b=getchar();
if(b=='n'||b=='N')
break;
}
}
另一个文件
#include<stdio.h>
void strreverse(char s[])
{
int i,j;
char t;
for(i=0;s[i]!='\0';i++);
i-=i;
for(j=0;j<i;j++,i--)
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
void delchar(char s[],char q)
{
int i,k;
char t;
for(k=0,i=0;k!='\0';k++)
if(s[k]!=q)
{
t=s[k];
s[k]=s[i];
s[i]=t;
i++;
}
s[i+1]='\0';
} 展开
求大神帮忙看看哪里有问题!!!!
#include<stdio.h>
#include<string.h>
#include"3-fstring.c"
void strreverse(char s[]);
void delchar(char s[],char q);
void main()
{
int a;
char b,s[80],q;
while(1)
{
printf("1.Reverse a string.\n");
printf("2.Delete a character in a string.\n");
printf("Please input your choice:");
fflush(stdin);
scanf("%d",&a);
switch(a)
{
case 1: printf("Enter a string:");
fflush(stdin);
scanf("%s",s);
strreverse(s);
printf("Reversed string is:%s\n",s);
break;
case 2: printf("Enter a string:");
scanf("%s",s);
printf("Enter a character you want to delete:");
fflush(stdin);
scanf("%c",&q);
delchar(s,q);
printf("Deleted string is:%s\n",s);
break;
}
printf("Would you like to continue?(y/n)");
fflush(stdin);
b=getchar();
if(b=='n'||b=='N')
break;
}
}
另一个文件
#include<stdio.h>
void strreverse(char s[])
{
int i,j;
char t;
for(i=0;s[i]!='\0';i++);
i-=i;
for(j=0;j<i;j++,i--)
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
void delchar(char s[],char q)
{
int i,k;
char t;
for(k=0,i=0;k!='\0';k++)
if(s[k]!=q)
{
t=s[k];
s[k]=s[i];
s[i]=t;
i++;
}
s[i+1]='\0';
} 展开
2个回答
2016-05-02 · 知道合伙人软件行家
关注
展开全部
fstring.c这个文件里面的函数写的有问题,我稍微改了一下,懒得写注释了,你先看看写的对不对,有问题的话再追问吧。
#include<stdio.h>
void strreverse(char s[])
{
int i,j;
char t;
for(i=0;s[i]!='\0';i++);
i -=1;
for(j=0;j<=i;j++,i--)
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
void delchar(char s[],char q)
{
int i,k;
for(k=0,i=0;s[i]!='\0';i++)
if(s[i]!=q)
{
s[k]=s[i];
k++;
}
s[k]='\0';
}
更多追问追答
追问
第一个函数有改么
第一个函数有改么,运行还是不对啊
第二个对了,太谢谢了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询