| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 922 人关注过本帖
标题:此题不错,看看吧!
只看楼主 加入收藏
smallas
Rank: 2
等 级:论坛游民
帖 子:8
专家分:21
注 册:2010-2-3
结帖率:0
收藏
已结贴  问题点数:40 回复次数:7 
此题不错,看看吧!
程序代码:
#include  <stdio.h>
void  fun(char *a)
{


}
main()
{
  FILE *out;
  char s[81],*p;
  printf("Enter a string:\n");
  gets(s);
  fun(s);
  printf("The string after moveing:\n");
  puts(s);
  out=fopen("out.dat","w");
  fputs(s,out);
  fclose(out); 
}
     假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
例如,字符串中的内容为:***A*BC*DEF*G***,移动后字符串中的内容应当是:A*BC*DEF*G******。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
 注意:不要对main()函数进行改动。
     源程序存放在考生文件夹下的pro.C中。
收到的鲜花
  • Devil_W2010-02-04 14:18 送鲜花  -2朵   附言:请注意出题的质量。
  • CodeWays2010-02-10 15:18 送鲜花  2朵   附言:汗...按您老的出题标准,没有有质量的题了. ...
搜索更多相关主题的帖子: 移动 字母 include 字符串 Enter 
2010-02-04 14:12
smallas
Rank: 2
等 级:论坛游民
帖 子:8
专家分:21
注 册:2010-2-3
收藏
得分:0 
怎么没人?
2010-02-04 15:28
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:6 
简单

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2010-02-04 15:33
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:6 
呵呵。
2010-02-04 15:50
WCNM
Rank: 1
等 级:新手上路
帖 子:9
专家分:7
注 册:2010-1-7
收藏
得分:6 
void  fun(char *a)
{
    int i;
    char *p;
    p=q=a;
    while(*p++=='*')
    i++;
    while(*(q+i)!='\0')
    {
        *q=*(q+i);
        q++;
    }
    while(*q!='\0')
    {
        *q='*';
        q++;
    }
}
2010-02-04 16:43
Devon_Ye
Rank: 4
来 自:广东
等 级:业余侠客
帖 子:124
专家分:282
注 册:2010-1-7
收藏
得分:6 
楼上的能通过编译吗?q没定义啊;

void fun(char *a)
{
  int i=0,n=0;
  char *p;
  p=a;
  while(*p=='*') //取得前导*的个数
  {
    n++;
    p++;
  }
  while(*p!='\0') //向前复制字符串
  {
    a[i]=*p;
    i++;
    p++;
  }
  while(n!=0) //把前导的*加上尾部
  {
    a[i]='*';
    i++;
    n--;
  }
  a[i]='\0';
}
2010-02-09 17:24
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
收藏
得分:6 
以下是引用Devon_Ye在2010-2-9 17:24:52的发言:

楼上的能通过编译吗?q没定义啊;

void fun(char *a)
{
  int i=0,n=0;
  char *p;
  p=a;
  while(*p=='*') //取得前导*的个数
  {
    n++;
    p++;
  }
  while(*p!='\0') //向前复制字符串
  {
    a=*p;
     ...

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2010-02-10 09:46
王晓明
Rank: 2
等 级:论坛游民
帖 子:40
专家分:62
注 册:2009-3-12
收藏
得分:6 
void  fun(char *a)
{
    char *p=a;
    int num=0;
    while(*p=='*')
    {
        num++;
        p++;
    }
    p=a;
    while(*(p+num)!=NULL)
    {
        *p=*(p+num);

        p++;
    }
    while(*p!=NULL)
    {
        (*p)='*';
        p++;
    }
    return ;

}
我试了一下,可以通过
2010-02-10 10:28
快速回复:此题不错,看看吧!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019467 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved