| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖
标题:程序出问题了 帮忙看下
只看楼主 加入收藏
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
程序出问题了 帮忙看下
找到单词后 替换成word_tab中后一个单词 不知道哪里错了
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void replace_word(char s[])
{
    char word_tab[4][10]={"sad","happy","accuse","forgive"};
    char temp[10],copys[80];
    int n,m,i,k1,k2,len,q1,q2,j;
    for(n=0,m=0;s[n]!='\0';n++)
    {
        if(s[n]!=' '&&s[n+1]==' ')/*s[m]与s[n]之间是一个单词*/
        {
            for(i=0;i<10;i++)
                temp[i]='\0';
            for(i=0,j=m;j<=n;j++,i++)
            {
                temp[i]=s[j];
            }
            for(i=0;i<4;i++)
                if(!strcmp(temp,word_tab[i]))
                {
                    len=strlen(word_tab[i]);
                    for(k1=m,k2=n+1;s[k2]!='\0';k2++,k1++)/*将这个单词从s数组中删去*/
                    {
                        s[k1]=s[k2];
                    }
                    for(;k1<k2;k1++)
                        s[k1]='\0';
                    for(q1=0;q1<m;q1++)/*将s数组中这个单词前面的字母复制到数组copys中去*/
                        copys[q1]=s[q1];
                    for(q2=m+len,j=0;q1<q2;q1++,j++)/*用新单词替换原单词*/
                    {
                        copys[q1]=word_tab[i==3?0:i+1][j];
                    }
                    for(;s[q2]!='\0';m++,q1++)/*将s数组中这个单词后面的字母接到copys之后*/
                        copys[q1]=s[m];
                    for(;q1<80;q1++)
                        copys[q1]='\0';
                    strcpy(s,copys);
                }
        }
        if(s[n]==' '&&s[n+1]!=' ')
            m=n+1;
    }
}
void main()
{
    char s[80]="I accuse your mistakes.";
    replace_word(s);
    printf("%s\n",s);
}
搜索更多相关主题的帖子: happy 
2011-04-06 12:28
flonlen
Rank: 2
等 级:论坛游民
帖 子:2
专家分:17
注 册:2011-4-5
收藏
得分:7 
linux 下 gcc编译、执行都没问题!
图片附件: 游客没有浏览图片的权限,请 登录注册

2011-04-06 14:11
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
收藏
得分:0 
为什么vc6.0二级考试专用版会出问题? 执行时说 该内存不能为read 无结果
2011-04-06 14:42
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
收藏
得分:0 
用tc是 abnormal program termination
2011-04-06 14:43
拒绝浮躁
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2011-4-5
收藏
得分:7 
在VC6.0里面有问题//
2011-04-06 15:48
拒绝浮躁
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2011-4-5
收藏
得分:0 
你这个程序是干嘛的啊?
2011-04-06 15:50
拒绝浮躁
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2011-4-5
收藏
得分:0 
程序代码:
void main()
{
    char s[80]="I accuse your mistakes.";
    replace_word(s);

    for(int n=0;n<=strlen(s);n++)
        printf("%s\n",s);

 }
2011-04-06 15:55
拒绝浮躁
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2011-4-5
收藏
得分:0 
S 是字符串数组 不可以  printf("%s",s);
2011-04-06 15:57
拒绝浮躁
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2011-4-5
收藏
得分:0 
用 string.h 头文件里面的 strlen()函数求数组实际字符数再输出。
2011-04-06 15:58
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
收藏
得分:0 
回复 9楼 拒绝浮躁
依旧无法执行啊
2011-04-06 16:06
快速回复:程序出问题了 帮忙看下
数据加载中...
 
   



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

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