精华内容
下载资源
问答
  • C语言 单词长度

    千次阅读 2019-10-03 16:53:10
    C语言 单词长度 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it’s”算一个单词,长度为4。...

    C语言 单词长度

    题目内容:

    你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it’s”算一个单词,长度为4。注意,行中可能出现连续的空格。

    输入格式:

    输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。

    输出格式:

    在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。

    输入样例:

    It's great to see you here.
    

    输出样例:

    4 5 2 3 3 4
    

    代码

    #include <stdio.h>
    #include <string.h>
    int main() {
    	int i, c = 0;
    	char a[100];
    	gets(a);
    	for (i = 0; a[i] != '.'; i++)
    	{
    		if (a[i] != ' ')
    			c++;
    		else if (c != 0)
    		{
    			printf("%d ", c);
    			c = 0;
    		}
    	}
    	if (c != 0) printf("%d", c);
    
    	return 0;
    }
    
    展开全文
  • linux系统下的c语言单词值计算linux系统下的c语言单词值计算linux系统下的c语言单词值计算
  • C语言 单词排序 轻松实现 某著名教师亲自操刀 字符串 数组
  • C语言单词连接

    2014-11-16 11:13:27
    单词连接 【问题描述】 对N(2≤N≤100000)个由M(2≤M≤1000)个小写字母组成的英文单词排序, 使得相邻的两个单词中前一个单词的末字母等于后一个单词的首字母。...上传c语言源程序,文件名为words.c。
  • c语言单词小助手

    千次阅读 2018-09-08 19:09:06
    c语言版的单词小助手 说明: 此次是在被人的基础上做的改动,加了些功能,本人并非原作者 改动如下: 1.将程序为了具有良好的程序风格(文档注释,函数注释,语句注释)。 2.对部分功能做了完善完善,针对...

    c语言版的单词小助手

    说明:

    此次是在被人的基础上做的改动,加了些功能,本人并非原作者

    改动如下:

    1.将程序为了具有良好的程序风格(文档注释,函数注释,语句注释)。
    2.对部分功能做了完善完善,针对做错的单词重复记忆,列出了 错词表这一栏,用户可以查看错词表重复记忆,也可以删除错词表中的某些单词。
    3.完善了查询单词的功能,支持英文查询以及中文查询。中文查询时,具有相同中文含义的英文单词,也会一一列举出来。
    4.增加排行榜功能。

    源代码

    //*********英语单词小助手***********
    //作者:仅做出修改
    //版本:v1.2
    //创建时间:2018年九月
    
    //************************************
    
    
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #define MAX_CHAR  20  // 最大字符
    #define MAX_NUM  200  // 单词的最大个数
     struct word//单词的结构体
    {
       char  en[MAX_CHAR]; // 英文形式
       char  ch[MAX_CHAR];   //中文形式
    } s[MAX_NUM]; //单词数组
    
    struct sco//用户的结构体
    {
       char  id[MAX_CHAR]; // 英文形式
       int  sc;   //中文形式
    } user[MAX_CHAR]; //单词数组
    struct word w[MAX_NUM];//定义一个错误单词的结构体数组
    int   m;
    int   num; //单词个数
    int   wnum;//记录错误单词的总数
    int   unum;//记录用户的个数
    int select=1;//select 为是否退出系统的标记
    int d=0,c=0;//声明全局变量,记录用户答对以及回答错误的单词个数,以便计算分数
    //帮助查询函数
    void help()
    {
        printf("\n本系统主要实现英语单词学习的功能。用户可对词典文件中的单词进行预览,增删改查。");
        printf("\n同时还可进行中英、英中测试。本系统还提供了测试成绩的显示功能。");
        printf("\n主要功能:。");
        printf("\n1.词库维护:可以增加、删除、修改和中文查询单词,英文查询单词。");
        printf("\n2.单词预览:将文件中的单词在屏幕上显示中英文词义。");
        printf("\n3.单词背诵(中英):随机显示中文,用户需输入英文,正确得十分,错误扣十分。"); 
        printf("\n4.单词背诵(英中):随机显示英文,用户需输入中文,正确可得十分,错误扣十分。");
        printf("\n5.成绩查询:显示中英、英中单词检测的成绩与总成绩。");
        printf("\n6.写错的词存入错词本,用户可以查看加强记忆,也可以将答错的词可以从单词本删除");
        printf("\n同时还可进行中英、英中测试。本系统还提供了测试成绩的显示功能。");
        printf("\n");
        printf("\n");
    
    }
    
    //从单词库文件中读取单词的信息
    void  readfile()
    {
       FILE *fp;//声明文件
       int i=0;//定义变量
       fp=fopen("data.txt","r");//打开存放单词的·文件库
       if(!fp)//如果文件不存在
       {
           printf("\n打开文件data.txt失败!");
    
       }
       while(fscanf(fp,"%s %s ",s[i].en,s[i].ch)==2)//读取下一个单词
       {
           i++;//计数器+1
       }
       num=i;//记录单词总数
       if(0==i)
           printf("\n文件为空,请选择词典维护增加词条!");
       else
           printf("\n");
       fclose(fp);//关闭文件
    
    }
    
    //向文件写入单词的函数
    void  writefile()
    {
       FILE *fp;//声明文件
       int i=0;//定义变量
       fp=fopen("data.txt","w");//打开文件
       if(!fp)//如果文件不存在
       {
           printf("\n打开文件data.txt失败!");
    
       }
       for(i=0;i<num;i++)//循环遍历写入单词
       {
           fprintf(fp,"\n%s %s ",s[i].en,s[i].ch);//fprintf(可以从一个文件流中格式化写入数据)
       }
       printf("\n");
       fclose(fp);//关闭文件
    }
    
    //向用户文件写入用户信息的函数
    void writeuserfile(){
           FILE *fp;//声明文件
           fp=fopen("rank.txt","user");//打开文件
           if(fp)//如果文件不存在
       {
           fprintf(fp,"\n%s %d ",user[unum].id,user[unum].sc);//fprintf(可以从一个文件流中格式化写入数据)
           printf("\n");
           fclose(fp);//关闭文件
       }
    
            printf("\n打开文件data.txt失败!");
    
    }
    
    
    //读取错题库文件
    void  readwrongfile()
    {
       FILE *fp;//声明文件
       int i=0;//定义变量
       fp=fopen("wrongword.txt","r");//打开存放记错单词文件库
       if(!fp)//如果文件不存在
       {
           printf("\n打开文件wrongword.txtt失败!");
    
       }
       while(fscanf(fp,"%s %s ",w[i].en,w[i].ch)==2)//读取下一个单词
       {
           i++;//计数器+1
       }
       wnum=i;//记录单词总数
       if(0==i)
          // printf("\n文件为空,棒棒哒,你还没有记错单词哟");
          printf("\n");
       else
           printf("\n");
       fclose(fp);//关闭文件
    }
    
    //读取成绩排行榜文件
    void  readrankfile()
    {
       FILE *fp;//声明文件
       int i=0;//定义变量
       fp=fopen("rank.txt","r");//打开存放记错单词文件库
       if(!fp)//如果文件不存在
       {
           printf("\n打开文件rank.txtt失败!");
    
       }
       while(fscanf(fp,"%s %d ",user[i].id,user[i].sc)==2)//读取下一个单词
       {
           i++;//计数器+1
       }
       unum=i;//记录单词总数
       if(0==i)
           printf("\n");
       else
           printf("\n");
       fclose(fp);//关闭文件
    
    }
    
    void sort()/*按字典排序*/
    {
        int i,j;
        char temp[MAX_CHAR];
        for(i=0;i<num-1;i++)
        {
            for(j=num-1;j>i;j--)
                if(strcmp(s[j-1].en,s[j].en)>0)
                {
                    strcpy(temp,s[j-1].en);
                    strcpy(s[j-1].en,s[j].en);
                    strcpy(s[j].en,temp);
                    strcpy(temp,s[j-1].ch);
                    strcpy(s[j-1].ch,s[j].ch);
                    strcpy(s[j].ch,temp);
    
                }
        }
    } 
    //添加单词信息函数
    void add()
    {
        int i=num,j,flag=1;//定义变量num记录单词数,flag为标识浮
       while(flag)
        {
            flag=0;
            printf("\n请输入单词的英文形式:");
            scanf("%s",s[i].en);//从键盘接收用户输入的英文的单词
            for(j=0;j<i;j++)//循环遍历
                if(strcmp(s[i].en,s[j].en)==0)//判断是否相等
                {
                    printf("已有该单词,请检查后重新录入!\n");
                    flag=1;
                    break; /*如有重复立即退出该层循环,提高判断速度*/
                }
    
       }
       printf("\n请输入单词的中文形式:");
       scanf("%s",s[i].ch);//接收用户输入的中文含义
       num++;//单词数增加
       printf("\n您输入的信息为: 英文: %s 中文: %s  ",s[i].en,s[i].ch);
        sort();//调用字典排序函数
    }
    //删除 单词库 中的单词信息函数
    void del()
    {
        int i=0,j=0;//定义变量i和j当作数组下标
        char  en[MAX_CHAR];   //英文形式
        printf("\n请输入你要删除的单词英文形式:");    
        scanf("%s",en);//接收用户输入的英文单词
        for(i=0;i<num;i++)//循环遍历找到相等单词
            if(strcmp(s[i].en,en)==0)
            {
                for(j=i;j<num-1;j++)
                     s[j]=s[j+1];
                num--; //数量减少 1
                return;
            }
         printf("\n没有这个单词!");
    
    }
    //删除 错题库 中的单词信息函数
    void delwrong()
    {
        int i=0,j=0;//定义变量i和j当作数组下标
        char  en[MAX_CHAR];   //英文形式
        printf("\n请输入你要删除的错题库中单词的英文形式:");   
        scanf("%s",en);//接收用户输入的英文单词
        for(i=0;i<wnum;i++)//循环遍历找到相等单词
            if(strcmp(w[i].en,en)==0)
            {
                for(j=i;j<wnum-1;j++)
                     w[j]=w[j+1];
                wnum--; //数量减少 1
                return;
            }
         printf("\n您还没有背错这个单词!");
    
    }
    
    //修改单词库信息
    void modify()
    {
        int i=0,choose=0,flag=1;//chooses代表选项标识,flag代表是否找到单词
        char  en[MAX_CHAR];   //英文形式
        while(flag||choose)
        {
            printf("\n请输入你要修改的单词英文形式:");    
            scanf("%s",en);    //接收用户的输入
            for(i=0;i<num;i++)//先找到该英文形式对应的序号
                if(strcmp(s[i].en,en)==0)//假如与用户输入的单词不相等
                {
                    printf("\n请输入单词正确的英文形式:");
                    scanf("%s",s[i].en);//重新接收用户的输入的英文单词
    
                    printf("\n请输入此单词正确的的中文形式:");
                    scanf("%s",s[i].ch);//接收中文含义
    
                    printf("\n继续修改请选1,返回上一级请选0:");
                    scanf("%d",&choose);
                    if(choose==0) return;   
                }
               flag=0;//关键字标识
    
        }
      if(!flag)  printf("\n没有这个单词!");
    }
    //单词预览,查看单词库中单词的预览
    void show()
    {
        int  i=0;//定义变量
        printf("\n单词:     英文        中文         ");
        for(i=0;i<num;i++)              //循环遍历写出所有的单词和中文
            printf("\n          %-12s%-12s",s[i].en,s[i].ch);
            printf("\n");
            printf("\n");
    
    }
    
    //遍历错题库中单词并打印出来
    
    void  showwrong(){
    
        int  i=0;//定义变量
        int flag=0;//定义关键字,判断用户是否要删除错题库中的单词
        printf("\n单词:     英文        中文         ");
        for(i=0;i<wnum;i++)             //循环遍历错误但词库中的所有单词写出所有的单词和中文
            printf("\n          %-12s%-12s",s[i].en,s[i].ch);//将错误单词打印出来
        printf("\n");
        printf("\n");
        printf("输入1,进行选择删除错题库中的单词,输入其他其他回到主菜单");
        scanf("%s",&flag);//接收用户选择的关键字
        if(flag==1){//判断用户是否需要删除
        void delwrong();//调用删除错题库函数
        }
    
    }
    
    //打印排行榜
    
    void  showuser(){
    
         readrankfile();//读取排行榜文件
        int  i=0;//定义变量
        printf("\n单词:     用户id        成绩         ");
        for(i=0;i<unum;i++)             //循环遍历错误但词库中的所有用户,打印出出所有的用户和成绩
            printf("\n          %-12s%-12s",user[i].id,user[i].sc);
        printf("\n");
        printf("\n");
    
    
    }
    
    //查询单词。主要包括中文查询,英文查询
    void search()
    {   
        int i=0;int searchway;//定义从键盘接受的关键字,选择相应的服务
    
        int choose=0,flag=1;//设置两个关键字
        char  ch[MAX_CHAR];   //中文形式
        char  en[MAX_CHAR]; //英文单词
        printf("\n请输入您要选择的查询方式");
        printf("\n**1**   中文查询");
        printf("\n**2**   英文查询");
        scanf("%d",&searchway);
        if(searchway==1){//中文查询
                    while(choose||flag)
                {
                    printf("\n请输入你要查询的单词中文形式:");    
                    scanf("%s",ch);//从键盘接受中文汉字
                        printf("\n英文形式       中文形式        ");
                    for(i=0;i<num;i++)//先找到该中文形式对应的序号
                    if(strcmp(s[i].ch,ch)==0)//如果存在则输出
                    {   
                        printf("\n   %-12s%12s",s[i].en,s[i].ch);//打印对应的单词与中文含义
                    }
                    printf("\n继续查询请选1,返回上一级请选0:");
                    scanf("%d",&choose);
                    if(choose==0) return;   
                    flag=0;
                }
               if(!flag)     printf("\n没有这个单词!");//修改关键字,退出循环
    
        }else if(searchway==2){//英文查询
    
            while(choose||flag)
                {
                    printf("\n请输入你要查询的英文单词形式:");    
                    scanf("%s",en);//从键盘接受英文单词
                    printf("\n英文形式       中文形式        ");
                    for(i=0;i<num;i++){//先找到该英文单词对应的序号
                    if(strcmp(s[i].en,en)==0)//如果存在则输出
                    {   
                        printf("\n   %-12s%12s",s[i].en,s[i].ch);//打印对应的单词与中文含义
                    }
                    printf("\n继续查询请选1,返回上一级请选0:");
                    scanf("%d",&choose);
                    if(choose==0) return;   
                    flag=0;
                }
               if(!flag)     printf("\n没有这个单词!");//修改关键字,退出循环。
            }
        }
    
    }
    
    //中译英测试
    void zytest()
    {   
        char b1[20];//定义一个临时数组
        int z;//为循环声明变量
        int choose=1;//设置关键字
        int   i;//声明一个随机数变量
        struct word wrongword;//声明结构体变量,用来存错误单词信息
        FILE *fp;//声明文件
        while(choose)
        { 
            i = rand()%num;//生成介于词库数目之间的随机数,抽取词库中随机的汉字
            printf("\n【%s】请输入英文单词:",s[i].ch);
            scanf("%s",b1);//接受用户输入的单词
            for(z=0;strcmp(b1,s[i].en)!=0;z=z)//遍历数组,判断输入的单词是否正确
            {
    
                printf("\n输入错误,正确为:%s ,请记忆后重新输入",s[i].en);
                strcpy(wrongword.ch,s[i].ch);//拷贝记错单词的中文含义
                strcpy(wrongword.en,s[i].en);//拷贝记错的英文单词
                scanf("%s",b1);//重新从键盘接收
                c=c+1;//记下错误的数量
    
                //将输入错误的单词记录下来
            }
                printf("\n恭喜你,回答正确,加10分!\n\n");
                d=d+1;//回答正确的单词数+1,分数增加
               fp=fopen("wrongword.txt","a");//打开记录错误单词的文件夹
               if(!fp)//如果文件不存在则打开失败
               {
                   printf("\n打开文件wrongword.txt失败!");
    
               }
               else{//如果文件存在,执行下面操作
                    fprintf(fp,"%s %s\n ",wrongword.en,wrongword.ch);//将上面记录的错误单词的中文,英文记录到文件中
                    printf("\n");//换行
                    fclose(fp);//关闭文件
               }
    
                printf("\n继续测试请选1,返回上一级请选0:");
                scanf("%d",&choose);//从键盘接受用户接下来选择的操作
                if(choose==0) return;   
        }
    
    }
    //英译中测试
    void yztest()
    {
        char b1[20];//定义一个临时数组
        int z;//声明一个变量,在循环中用
        //x=41
        int choose=1;//设置关键字
        int   i;//声明一个变量,记录数组下标
        struct word wrongword;//声明结构体变量,记录错误单词信息
        FILE *fp;//声明文件
        i = rand()%num;//生成介于词库数目之间的随机数,抽取词库中随机的单词
        while(choose)
        { 
            printf("【%s】请输入中文意思:",s[i].en);
            scanf("%s",b1);//接受单词的中文意思
            for(z=0;strcmp(b1,s[i].ch)!=0;z=z)//遍历数组,判断输入的中文意思是否正确
            {
                printf("\n输入错误,正确为:%s ,请记忆后重新输入",s[i].ch);
                strcpy(wrongword.ch,s[i].ch);//拷贝机错单词的中文含义
                strcpy(wrongword.en,s[i].en);//拷贝记错的英文单词
                scanf("%s",b1);//重新从键盘接收
                c=c+1;//记下错误的数量
                //将输入的错误单词记录下来
            }
            printf("\n恭喜你,回答正确,加10分!\n\n");
                d=d+1;//回答正确的单词数+1,分数增加
               fp=fopen("wrongword.txt","a");//打开记录错误单词的文件夹
               if(!fp)//如果文件不存在,声明打开文件失败错误
               {
                   printf("\n打开文件wrongword.txt失败!");
    
               }
               else{
                    fprintf(fp,"%s %s\n ",wrongword.en,wrongword.ch);//将错误单词的中文含义以及英文,输入到文件中
                    printf("\n");//换行
                    fclose(fp);//关闭文件
               }
    
                printf("\n继续测试请选1,返回上一级请选0:");
                scanf("%d",&choose);//接收用户的选择
                if(choose==0) return;   
        }
    }
    
    
    //查看您的成绩
    void list()
    {   
        printf("\n  共计输入错误:%d次  **每次扣10分**\n",c);
        printf("    共计输入正确:%d次  **每次加10分**\n",d);
        int score=10*d-10*c;//获得成绩
        printf("    你的总得分为:%d分\n\n",score);//计算用户的分数,
        //将成绩写入文件
       int i=unum,j,flag=1;//定义变量unum记录用户人数,flag为标识浮
       while(flag)
        {
            flag=0;
            //printf("\n请输入单词的英文形式:");
            //scanf("%s",s[i].en);//从键盘接收用户输入的英文的单词
            for(j=0;j<i;j++)//循环遍历
                if(strcmp(user[unum].id,user[j].id)==0)//判断是否相等
                {
                    user[unum].sc=score;
                    writeuserfile();
                    unum++;//用户人数增加
                    flag=1;
                    break; /*如有重复立即退出该层循环,提高判断速度*/
                }
                else{
                    user[unum].sc=score;
                    writeuserfile();//调用写入用户信息的函数
    
                }
       }
    }
    
    
    
    
    
    //词典维护,主要包括单词的增加,修改,删除以及查询
    void maintain()
    {
        int choose;//维护功能选择
        printf("   ------------------\n");
        printf("   1.增加单词\n");
        printf("   2.修改单词\n");
        printf("   3.删除单词\n");
        printf("   4.查询单词\n");
        printf("   5.退出本菜单\n");
        printf("   ------------------\n");
    
        while(1)
        {   
    
            printf(" \n请输入维护功能编号:");
            scanf("%d",&choose);      //接受用户需要的功能
            switch(choose)//switch选择语句
            {
             case 1:
                     add();writefile();break;
             case 2:
                     modify();writefile();break;
             case 3:
                     del();writefile();break;
             case 4:
                     search();break;
            case 5:  return;
            default: printf("\n请在1-5之间选择");
            }
        }
    }
    //用户界面,主要界面菜单
    void menu()
    {  
        int item;
        printf("\n");   
        printf("              *********************************************************\n");
        printf("              #                                                       #\n");
        printf("              #                 英语单词小助手                        #\n");
        printf("              #                                                       #\n");
        printf("              #                 版本 : v1.0                          #\n");
        printf("              #                                                       #\n");
        printf("              *********************************************************\n");
        printf("              #                                                       #\n");
        printf("              #       0.词库维护          1.单词预览                  #\n");
        printf("              #                                                       #\n");
        printf("              #       2.单词背诵(中英)    3.单词背诵(英中)            #\n");
        printf("              #                                                       #\n");
        printf("              #       4.查询成绩          5.帮助                      #\n");
        printf("              #                                                       #\n");
        printf("              #       6.错词表            7.排行榜                    #\n");
        printf("              #                                                       #\n");
        printf("              #       8.退出系统                                      #\n");
        printf("             **********************************************************\n");  
        printf("\n");
        printf("                    请选择您需要的操作序号(0-8)按回车确认:");
    
    
        readfile();//初始化,声明单词库读取文件函数
        readwrongfile();//初始化,声明读取错误但词库的文件的函数
        scanf("%d",&item);//接收用户选择的功能
        printf("\n");
        switch(item)//选择语句
        {
         case 0:
                  maintain();break;//调用词库维护的函数
         case 1:
                  show();break; //调用读取文件单词库的函数,并将他打印出来
         case 2:
                  zytest();break;//调用中英背诵单词的函数
         case 3:
                  yztest(); break;//调用英中背诵单词的函数
         case 4:
                  list();break;//调用显示成绩列表的函数
         case 5:
                  help();break;//调用帮助函数
         case 6:
                  showwrong();break;//*************打印错词表
         case 7:
                  showuser();break;//*****用户排行榜
         case 8:
                  select =0;break;//将关键字置位零,退出系统
         default:
            printf("请在0-6之间选择\n");
         }
    }
    int main()  //主函数,程序的入口
    {  
            printf("请输入用户id\n");
            scanf("%s",user[unum].id);//从键盘接收用户输入id
        while(select)//程序循环,select为关键字
        {
            menu();//调用主菜单函数
        }
        system("pause");
        return 0;
    } 
    

    功能

    这里写图片描述

    单词查询

    如下图,针对单词查询做了优化,支持中英文查询,中文查询中,含义相通的英文单词也可显示出来。
    这里写图片描述

    登录

    简单的登录,记录用户名称
    这里写图片描述

    错题集

    答错过的单词会显示在这里
    这里写图片描述

    总结说明

    因为时间问题,很多地方还很不完善,存在很多的bug,代码有些冗余。另外,此处总共有三个文件,分别存放词库,错题库,用户的账号和成绩。

    展开全文
  • OC学习线路图: 学习目标: C语言单词首字母大写并统计单词个数: 明天好好看下指针. 转载于:https://www.cnblogs.com/aiti/p/4634167.html

    OC学习线路图:
    Image%202015-07-09%20at%2011.05.30%20%E4%B8%8B%E5%8D%88.png

    学习目标:
    Image%202015-07-09%20at%2011.08.52%20%E4%B8%8B%E5%8D%88.png

    C语言单词首字母大写并统计单词个数:
    Image%202015-07-10%20at%2012.18.10%20%E4%B8%8A%E5%8D%88.png
    Image%202015-07-10%20at%2012.19.35%20%E4%B8%8A%E5%8D%88.png

    明天好好看下指针.

    转载于:https://www.cnblogs.com/aiti/p/4634167.html

    展开全文
  • C语言 单词长度 代码

    千次阅读 2020-11-06 09:49:06
    中国大学MOOC上浙江大学翁恺老师的 程序设计入门——C语言 课程第八章作业中有“单词长度”一题 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。...

    中国大学MOOC上浙江大学翁恺老师的 程序设计入门——C语言 课程第八章作业中有“单词长度”一题
    题目内容:
    你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it’s”算一个单词,长度为4。注意,行中可能出现连续的空格。

    输入格式:
    输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。

    输出格式:
    在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。

    输入样例:
    It’s great to see you here.

    输出样例:
    4 5 2 3 3 4

    时间限制:500ms内存限制:32000kb

    此题需注意点在于:

    1. 输出的数字后有无空格
    2. 当一个单词后有多个空格时,不应有“0”的输出
    3. 当无有效内容的输入时应无输出,无有效内容的输入 例如" ."
    #include<stdio.h>
    //输入的单词后有空格则输出的后也有空格 
    //无有效内容的输入应无输出 
    int main()
    {
    	char n=' ';
    	int count=0;
    	int isP=0;//是否有单词输入 
    	
    	while(n !='.')
    	{		
    		scanf("%c",&n);
    		count++;
    		
    		if(n!=' '&&n!='.')
    		{
    			isP=1;//有效输入
    		}
    		
    		if(n==' ')
    		{
    			if(count!=1)  //->解决多个空格的问题
    			{
    				printf("%d ",count-1);
    			}			
    			count=0;
    		 } 
    		
    		//最后一个数字
    		if(n=='.'&&isP==1) 
    		{
    			printf("%d",count-1);	
    		}
    	}	
    	return 0;
    }
    

    ps:最初时还犯了一个错误:以为’ ‘就是’’ ——空格也是要敲出来的!

    展开全文
  • C语言单词及词法规则引导语:单词是由若干个有序的字符组成的,单词的集合称为词汇。以下是百分网小编分享给大家的C语言单词及词法规则,希望大家喜欢!1.标识符标识符是由字母、下划线和数字组成的字符序列,要求第...
  • c语言单词长度程序

    2015-06-18 10:05:14
    c语言程序
  • C语言 单词统计

    2019-12-29 21:58:54
    输入一行字符,统计其中分别有多少个单词和空格。比如输入:“How are you”,有3个单词和2个空格。 输入 每行输入一字符串 输出 输出单词个数及空格个数,用逗号隔开 样例输入 Copy How are you I love C language ...
  • c语言 单词首字母大写

    千次阅读 多人点赞 2020-04-24 15:57:37
    单词首字母大写 编写程序,输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式 输入给出一行字符。 输出格式 在一行中...
  • C语言单词连接代码

    2012-04-05 01:02:27
    对N(2≤N≤100000)个由M(2≤M≤1000)个小写字母组成的英文单词排序, 使得相邻的两个单词中前一个单词的末字母等于后一个单词的首字母。 【输入形式】 从标准输入上读入。输入文件有N(2≤N≤100000)行,每行...
  • C语言 单词的字典序

    2021-01-11 12:29:30
    编写程序对若干英文单词进行排序。 这里,英文单词是只包含26个小写字母不含其它符号,长度上限为50字符的串。 排序依据是英文单词的字典序从小到大排列。所谓字典序,就是按照英文字典的顺序排列:即两串从第一...
  • C语言单词、HTML1C语言单词第一章:include 包含(导入头文件)stdio.h 输入输出头文件void 不返回任何值main 主要printf 打印输出IDE(Integrated Development Environment) 集成开发环境source File 源文件warning ...
  • c语言 单词计数

    千次阅读 2015-06-27 10:51:57
    单词计数并不是什么难的内容,如果看了k&R的《C程序设计语言》,里面就有该功能的实现,先放上源码: #include "stdafx.h" #define IN 1 //在单词内 #define OUT 0 //不在单词内 int _tmain(int argc, _TCHAR* ...
  • C语言单词的翻转问题

    千次阅读 2018-10-10 22:57:27
    关于单词的翻转:在英文句子中,翻转句子而英文单词的顺序不变,各单词以空字符隔开。 基本的思路是:首先翻转整个句子,然后翻转单词。 个人感觉这个方法理解不难(也是从别的大佬那借鉴的)[link]...
  • C语言单词个数统计

    2020-03-29 12:20:27
    C语言单词个数统计 如题 话不多说了,直接上代码 如题 编写一个函数 findStr(char *str,char *substr),该函数统计一个长度为 2 的子字符串在另一 个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asd ...
  • (只有单词反转,单词里的字母不反转)用c语言来搞先到字符串末尾然后挨个扫描碰到非空格wordLen++否则先处理wordLen然后把空格拷贝过去就行上代码:#include main() { char *c = "my name is yao...
  • #includeint match(char *a,char *b)//a表示输入的英文段落 b表示即将要匹配的单词{char *temp; //用来存放匹配的单词int count = 0; //temp = b; //用temp将b存储while(*a!='\0') //用来判断a段落是否扫描完{if(*a ...
  • 第一个选择 多少秒切换单词 第二个选择 从那个文件选择 第三个选择 1字典排序 2随机排序 麻烦哪位大佬写写 谢谢 我的代码这样子 铁定是废的。 头文件 ``` #include #include #include #define MAX...
  • 使用自己熟悉的语言,实现简化版的C语言代码的单词识别。 创新功能:显示标识符和常数数组中已添加的内容。 三、要求 在设计的状态转换图中,首先对输入串做预处理,即剔除多余的空白符(在实际的词法分析中,...
  • 这道题关于单词数的那段完全看不懂。。。请教请教各位大佬。。。。。。。。![图片说明](https://img-ask.csdn.net/upload/201612/25/1482595817_518137.png)
  • C语言 单词查找树 Trie树

    千次阅读 2018-06-17 17:48:33
    单词查找树简介 代码实现 单词查找树简介 Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,278
精华内容 21,311
关键字:

c语言单词

c语言 订阅