| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 370 人关注过本帖
标题:请帮帮忙
收藏  订阅  推荐  打印 
小菜叶
Rank: 1
等级:新手上路
帖子:3
积分:130
注册:2004-9-17
请帮帮忙

请各位大虾帮帮忙,急用!问题是:任意输入一串字符串,把其中包含数字的字符删除,输出删除后的字符串。例如:输入ab13c34fgh35k,那么程序应该输出的是:abcfghk。这是一道改错题,详细的程序见上传的文件 shanchu.c

#include <stdio.h> #include <conio.h> void fun(char *s) { int i,j; for(i=0,j=0;s[i]!='\0';i++) { if(s[i]>='0' && s[i]<='9') s[j]=s[i]; s[j]='\0'; } } main() { char item[80]; clrscr(); printf("\nEnter a string:"); gets(item); printf("\n\nThe string is:\"%s\"\n",item); fun(item); printf("\n\nThe string of changing is:\"%s\"\n",item); }

[此贴子已经被作者于2004-09-17 16:36:42编辑过]

2004-9-17 16:32
乌鸦丘比特
Rank: 4
等级:高级会员
威望:2
帖子:625
积分:6500
注册:2004-7-19

这里不帮忙作作业的


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-9-17 17:01
小菜叶
Rank: 1
等级:新手上路
帖子:3
积分:130
注册:2004-9-17
^_^

楼上的同志,这个应该不是帮做作业的类型吧?:)

这是一道去年的二级C的上机试题(改错题),根据它题目的给题逻辑,我改不出来 :( ,弄得我自己的天线都乱完了,所以希望能来到这里让大会儿给点意见。

请大家多多帮忙呀!

2004-9-18 09:20
Knocker
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:36
帖子:9963
积分:324662
注册:2004-6-1

void fun(char *s) { int i,j; for(i=0,j=0;s[i]!='\0';i++) { if(s[i]>='0' && s[i]<='9')//提取的该是a~z,A~Z不是0~9 s[j]=s[i];//j始终为零 s[j]='\0';//放错位置 } } 以上三处改正即可,都是一些基础的东西,做题不是目的,理解基础的语法才是你当务之急,你不会这题,说明你看不懂原题,学编程还是要踏实,死做题基础的东西都看不懂有用吗?下次还会考这题吗?


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-9-18 10:04
chen__han1
Rank: 3Rank: 3
等级:中级会员
帖子:256
积分:2660
注册:2004-9-16

>='a'&&..<='z'

s[j++]=s[i];

不过这个s[j]='\0';为什么放错了呢?我也看过这个原程序,除了我说的这点其他的都一样啊


路漫漫其修远兮 吾将上下而求索!
2004-9-18 11:08
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.058163 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved