| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1334 人关注过本帖
标题:求大佬教程序c语言,老是写错
只看楼主 加入收藏
insist99
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-12-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
求大佬教程序c语言,老是写错
从文本中输入一篇英语文章到程序中,计算里面的单词数,再求字母的众数不分大小写,在按照单词长到短排序到一个新建的文本中。求大佬教我谢谢!!!
搜索更多相关主题的帖子: 教程 c语言 文本 单词 大小写 
2018-12-23 20:41
哈哈笑吧
Rank: 2
等 级:论坛游民
威 望:1
帖 子:12
专家分:99
注 册:2017-11-24
收藏
得分:20 
#include<stdio.h>
#include<string.h>
//替换字符串
void swap(char *a,char *b)
{
    char temp[25]={0};
    strcpy(temp,a);
    strcpy(a,b);
    strcpy(b,temp);
}
int main()
{
    char str[100]={0}, p[25][10];
    int a[25][10];
    //变量定义的有点多
    int sum=0,i,j=0,x=0,y=0,m=0,r=0,t=0;
    printf("请输入单词:");
    //输入英语文章
    gets(str);
    //统计单词的数量
    for(i=0;str[i]!=0;i++)
    {
        if((str[i+1]==' '||str[i]<65||str[i]>127||str[i+1]==0)&&str[i]!=' ')
        {
            ++sum;
        }
    }
    printf("单词数:%d\n",sum);
    //将str字符串分成段赋给二维字符数组
    for(i=0;str[i]!=0;i++)
    {
        //如果字符是空格,或者是'\0',或者不是字母,将字符值改为'\0',从而达到p得到的是一个单词,而不是一段单词
            if(str[i]==' '||str[i+1]==0||str[i]<65||str[i]>127)
            {
                p[j++][m]='\0';
                m=0;
            }
            else    //如果字符不是空格,不是'\0',但如果字符是字母,就开始赋值
            {
                p[j][m++]=str[i];        
            }        
    }
    //输出字符串
    for(i=0;i<j;i++)
    {
        printf("%s ",p[i]);
    }
    //冒泡排序
    for(r=0;r<j;r++)
    {
        for(t=r+1;t<j;t++)
        {
            if(strlen(p[r])<strlen(p[t]))
            {
                swap(p[r],p[t]);
            }
        }
    }
    //输出排序后的字符串
    printf("\n排序后\n");
    for(i=0;i<j;i++)
    {
        printf("%s ",p[i]);
    }
    //写入文件
    FILE *fp1;
    fp1=fopen("str.txt","w+");
    for(i=0;i<j;i++)
    {
        fwrite(p[i],1,strlen(p[i]),fp1);
        fwrite("\n",1,1,fp1);
    }
    //关闭文件写入
    fclose(fp1);
    getchar();
    return 0;
}

本人能力有限,做的并不完美,请谅解
2018-12-24 15:46
哈哈笑吧
Rank: 2
等 级:论坛游民
威 望:1
帖 子:12
专家分:99
注 册:2017-11-24
收藏
得分:0 
1.rar (31.57 KB)
2018-12-24 15:48
insist99
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-12-19
收藏
得分:0 
大佬,谢谢啦,可是还是不对呀,排序有错误。
图片附件: 游客没有浏览图片的权限,请 登录注册
2018-12-25 20:40
insist99
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-12-19
收藏
得分:0 
结果是这样子的:
unforgettaunforgettaexperienceexperienceexperiencesophomore
unforgettaexperienceexperienceexperiencesophomore
experienceexperienceexperiencesophomore
experienceexperiencesophomore
experiencesophomore
sophomore
Everyone
course
sports
senior
school
school
annual
years
track
field
have
held
When
high
also
game
the
was
and
and
old
was
an
in
of
my
a
I
I
I





2018-12-25 20:45
哈哈笑吧
Rank: 2
等 级:论坛游民
威 望:1
帖 子:12
专家分:99
注 册:2017-11-24
收藏
得分:0 
试试把数组的范围再增加点,可能个别单词超过了数组范围,导致越界
2018-12-26 10:19
insist99
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-12-19
收藏
得分:0 
谢谢你啦
2018-12-28 09:23
快速回复:求大佬教程序c语言,老是写错
数据加载中...
 
   



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

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