C语言课设——单词统计系统

 C语言课设——单词统计系统
 课设是大一做的,很简陋的用c做的小程序,传上来给大家分享一下。
当时vc实在是装不上了,一气之下用记事本写的,所以排版很乱。

当时接的课设要求核心是用冒泡法,所以就是用冒泡法写的,其他方法当然也可以,只要把核心的那部分替换成你要的方法就行了。

下面是代码部分:


 

#include "stdio.h"
#include "stdlib.h"
#include "string.h"

struct word{
    char w[20];     //存储单词
    int i;         //出现次数
    int n[10];           //记录位置
}a[200];
int num1=0,num2=0;         //1记录字符数,2记录单词数
FILE *fp=NULL;         //文件指针
char file[1000];        //存储所有数据



void openfile()                                                  //打开文件并取出数据
{
        //char s[100];
        //printf("请输入文件完整的路径:");
        //scanf("%s",&s);
        //gets(s);
    if(fp!=NULL)
        printf("文件已打开\n");
    else if((fp=fopen("d:\\chapter.dat","r"))==NULL)
        {
        printf("打开失败,请检查路径是否正确或文件是否存在\n");
        exit(0);
    }
    else
    {
        printf("打开文件成功!\n");
        while(!feof(fp))
        {
            file[num1]=fgetc(fp);
            num1++;
        }
        fclose(fp);
    }
}


void keep()                                    //存入文件
{
    FILE *ft;
    int i;
    if((ft=fopen("d:\\out.dat","w"))==NULL)
    {
        printf("打开文件“out.dat”失败\n");
        exit(0);
    }
    fputs("单词名          数量\n",ft);
    for(i=1;i='a'&&file[i]<='z')||(file[i]>='A'&&file[i]<='Z'))     //存入单词
            {
                if(file[i]>='A'&&file[i]<='Z')
                    file[i]=file[i]-'A'+'a';
                word[j]=file[i];
                word[j+1]='\0';
                j++;
            }
            else if(file[i]==' '&&file[i+1]!=' ')
            {
                for(k=0;k=i;j--)
            {
                if(a[j].i>a[j-1].i)
                {
                    t=a[j];
                    a[j]=a[j-1];
                    a[j-1]=t;
                }
            }
        }
        //printf("排序后的单次序列为:\n");
        //for(i=1;i

 

 

 

 

你可能感兴趣的:(程序代码)