救急!!考试题

joyous99 2004-07-10 07:17:28

姓 名 机 号

1. 的功能是:删除一个字符串中指2. 定的字符。
设有如下的字符串:
turbo c and Borland c++
从键盘上输入任一个字符,然后从上述字符串中删除该字符(有几个删除几个)。例如输入字符n,则删除后变为:turbo c ad Borlad c++
如果输入了字符串中不存在的字符,则字符串照原样输出。同一字母的大、小写按不同字符处理。删除字符的操作通过一个函数来实现,请编写该函数代码。
3. 注意:部分源程序存在文件PROG3.C中。
4. 请勿改动主函数main()和其它函数中的任何内容,5. 仅在函数FUN的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<conio.h>
int fun(char s[ ],int c)
{




}
main()
{
static char str[]=”turbo c and Borland c++”;
char ch;
clrscr();
printf(“Enter a char to be deleted:”);
scanf(“%c”,&ch);
fun(str,ch);
printf(“str[]=%s\n”,str);
NONO( );
}
NONO( );
{
/*请在此函数内打开文件,输入测试数据,调用FUN函数,输出数据,关闭文件。*/
FILE * rf, *wf;
Char s[81],ch,w;
Int len;
rf=fopen(b0303.in”,”r”);
wf=fopen(b0303.out”,”w”);
fgets(s,80,rf);
fscanf(rf,|%c”,&ch);
len=strlen(s)-1;
w=s[len];
if(w= =’\n’| | w= =0xla) s[len]=0;
fun(s,ch);
fprintf(wf,”%s”,s);
fclose(rf);
fclose(wf);
}
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingyuan18 2004-07-11
  • 打赏
  • 举报
回复
int fun(char s[ ],int c)
{
int i,j;
for(i=0;i<strlen(s);i++)
{
if(s[i]==c)
{
for(j=i+1;j<strlen(s);j++)
s[j-1]=s[j];
}
}
}

楼主以后这种题还是先尝试自己作做看
ahwang 2004-07-10
  • 打赏
  • 举报
回复
为什么老是这种作业题?
changeme 2004-07-10
  • 打赏
  • 举报
回复
建议大家以后不要回答这种问题。
这里不应该成为枪手论坛。
wasoxi 2004-07-10
  • 打赏
  • 举报
回复
for(;j<23;j++)
{
s[j]=s[j+1];
}
这样你的s[j+1]就溢出了
wisexinlei 2004-07-10
  • 打赏
  • 举报
回复
int fun(char s[ ],int c)这个函数有问题,好像因该是int fun(char s[ ],char c)否则和main函数中的char ch;
clrscr();
printf(“Enter a char to be deleted:”);
scanf(“%c”,&ch);
fun(str,ch);
有冲突;
至于fun函数我写成这样:

int fun(char s[ ],char c)
{
int count;
for(i=0;i<23;i++)
{
if(s[i]==c)
{
int j=i;
for(;j<23;j++)
{
s[j]=s[j+1];
}
count++;
}
}
for(i=23-count;i<23;i++)
{
s[i]="";
}
}
还有主函数中NONO函数不知道怎么和fun函数连上用。
leonchew 2004-07-10
  • 打赏
  • 举报
回复
怎么,总是作业题

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧