c语言,编写一个函数统计英文句子中字母的个数,将英语句子存入到链表中

如题所述

功能:按你要求写的,输入句子存入链表,统计字母个数。

#include<stdio.h>
#include<malloc.h>
typedef struct word
{
    char c;
    struct word *next;
}WD;

int newWD(WD *wdHead,WD *wdTail)//输入字符存入链表  返回输入个数  参数:链表头指针    尾指针
{
    static int count;
    char c;
    scanf("%c",&c);
    if(c=='\n')
        return 0;

    WD *wdNew=(WD *)malloc(sizeof(WD));
    wdNew->c=c;
    wdNew->next=NULL;
    if(wdHead->next==NULL)
    {
        count=0;
        wdHead->next=wdTail=wdNew;
    }
    else
    {
        wdTail->next=wdNew;
        wdTail=wdNew;
    }
    if((c>='A' && c<='Z')||(c>='a' && c<='z'))
        count++;
    newWD(wdHead,wdTail);
    return count;
}
int main()
{
    int count;
    WD *wdHead=(WD *)malloc(sizeof(WD));
    wdHead->next=NULL;
    WD *wdTail=NULL;
    count=newWD(wdHead,wdTail);
    printf("输入的句子为:\n");
    while(wdHead->next!=NULL)
    {
        printf("%c",wdHead->next->c);
        wdHead=wdHead->next;
    }
    printf("\n");
    printf("输入的字母个数为:%d个\n",count);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答