| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 633 人关注过本帖
标题:求哪位高手帮小弟看一下这个程序
只看楼主 加入收藏
康冬亮
Rank: 1
来 自:成都
等 级:新手上路
帖 子:32
专家分:2
注 册:2010-8-14
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:4 
求哪位高手帮小弟看一下这个程序
程序的功能是   将字符串a中的所有字符复制到字符串b中,要求每复制三个字符后插入一个空格
#include <stdio.h>
void fun(char *p,char *b)
{
 int i,k=0;
 while (*p)
 {
   i=1;
   while (i<4&&*p)
   {
    b[k]=*p;k++;p++;i++;
    if(*p)
    {
    b[k]=' ';
    }
   }
   b[k++]='\0';
 }
void  main()
{
   
   
   
 char a[80],b[80];
 printf("enter a string :");
 gets(a);
 printf("the original string :");
 puts(a);
 fun(a,b);
 printf("\nthe string after insert space:");
 puts(b);
 printf("\n\n");
}
搜索更多相关主题的帖子: 字符串 include 
2010-09-09 01:17
ppfly
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:297
专家分:1956
注 册:2009-5-17
收藏
得分:5 
回复 楼主 康冬亮
fun函数里第一个while循环多此一举,应该删除,只用一个while就已经可以实现功能了。

代码作出修改后见下面,修改理由见注释。
程序代码:
#include <stdio.h>
void fun(char *p,char *b)
{
    int i,k=0;
//while (*p)        删除这里的while循环
//{
    i=0;    //i从0开始,如果保留这里i=1,则下面的i<4 以及i==3都要做相应调整
    while (i<4 && *p)
    {
        b[k]=*p;k++;p++;i++;
        if(*p && i==3)    //每三位后加空格,所以加上判断条件i==3
        {
            b[k]=' '; 
            k++;    //k 已占一位,故要自增一次
            i=0;    //注意while里面的条件“i<4”,所以这里加上这个i=0语句
        }
    }
    b[k]='\0';
//}
}
void  main()
{
    char a[80],b[80];
    printf("enter a string :");
    gets(a);
    printf("the original string :");
    puts(a);
    fun(a,b);
    printf("\nthe string after insert space:");
    puts(b);
    printf("\n\n");
}


 

********多贴代码,少说空话*******
2010-09-09 01:44
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:5 
#include <stdio.h>

void fun(char *p,char *b)
{
    int i,k=0;
    while (*p)
    {
        i=1;
        while (i<4&&*p)
        {
            b[k]=*p;
            k++;
            p++;
            i++;
        }
        if(*p)
            b[k++]=' ';        //存入空格之后,k要+1,不然被后面的覆盖掉了
   }
   b[k++]='\0';
}

void  main()
{
        
    char a[80],b[80];
    printf("enter a string :");
    gets(a);
    printf("the original string :");
    puts(a);
    fun(a,b);
    printf("\nthe string after insert space:");
    puts(b);
    printf("\n\n");
}
2010-09-09 08:55
foreson
Rank: 1
等 级:新手上路
帖 子:20
专家分:7
注 册:2010-3-27
收藏
得分:5 
程序代码:
#include <stdio.h>

int main()
{
    printf ("%d\n", 7%-5);
    return 0;
}
2010-09-09 23:10
快速回复:求哪位高手帮小弟看一下这个程序
数据加载中...
 
   



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

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