C语言怎么制作一个数据表格来存储句子信息

C语言如何制作一个数据表格来存储句子信息
求教各位大侠。
如何用C语言来制作一个动态的表格来存储句子信息。
具体例子如下,比说说,我定义了一个字符串char str[80];
我把字符串中输入得到“I am a student.I am Chinese.I study C language.”中计算每个单词。不同单词之间要开辟新的表格控件,相同单词要计数。形式如图。

小弟虽然没有分给您,但是仍然会真诚的感谢您。

怎么图贴不出来呢?怎么说吧,就跟word那种表格一样存储。如果C实在是不能画出那么标准的各个方框,用
|————|————|
|————|————|
|————|————|
|————|————|
|————|————|
这种方式也行。真心求给力。

------解决方案--------------------
你是指的GUI程序还是控制台程序呢?
如果是GUI程序应该有相应的表格控件。
如果只是控制台的话可以考虑printf里面的%-20s这种方式来使它们占相同的长度
------解决方案--------------------
建个struct存储 单词和个数
然后创建个 **struct
如果有新的单词就realloc这个指针数组

不知道是不是这个意思?
------解决方案--------------------
仅供参考
C/C++ code
//将out.txt文件中的内容排序并去重,结果保存到unique.txt中
#include <stdio.h>
#include <stdlib.h>
#define MAXLNO 10000000 //能处理的最大行数
#define MAXLEN 20       //能处理的最大行宽,包括行尾的\n和字符串尾的\0
char buf[MAXLNO][MAXLEN];
int ln,i;
FILE *f;
int cmpfun( const void *arg1, const void *arg2 ) {
    return strcmp((const char *)arg1,(const char *)arg2);
}
int main() {
    f=fopen("out.txt","r");
    if (NULL==f) {
        printf("Can not find file out.txt\n");
        return 1;
    }
    ln=0;
    while (1) {
        if (NULL==fgets(buf[ln],MAXLEN,f)) break;
        ln++;
        if (ln>=MAXLNO) {
            printf("Lines >%d ignored.",MAXLNO);
            break;
        }
    }
    fclose(f);
    if (ln>1) qsort(buf,ln,MAXLEN,cmpfun);
    f=fopen("unique.txt","w");
    if (NULL==f) {
        printf("Can not create file unique.txt\n");
        return 2;
    }
    fprintf(f,"%s",buf[0]);
    if (ln>1) for (i=1;i<ln;i++) {
        if (strcmp((const char *)buf[i-1],(const char *)buf[i])) fprintf(f,"%s",buf[i]);
    }
    fclose(f);
    return 0;
}

------解决方案--------------------
探讨
程序要求是控制台程序,此外,我再说明一下。程序要求是输入一组字符,计算其中的单词,好像术语叫做分割,函数好像用的是strtok,这部分我已经解决了,我未解决的是,如何进行分割后的每个字符串之间的比较,相同的在计数器上加一,不同的单词则开辟一个新的空间,直到最后一个单词被检测,程序终止。