C Primer Plus(第六版)11.13 编程练习 第12题

这篇具有很好参考价值的文章主要介绍了C Primer Plus(第六版)11.13 编程练习 第12题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

/*
编写一个程序,读取输入,直至读到EOF,报告读入的单词数、大写字母数、小写字母数、标点
符号数和数字字符数。使用ctype.h头文件中的函数。
*/
//测试字符串 
//ajskm,dl kdAj,.lfj sjkdl  sdk12lfj !.,fkdj.,.lssd.1a
//(ajskm),(dl) (kdAj),.(lfj) (sjkdl)  (sdk)12(lfj) !.,(fkdj).,.(lssd).1(a)
#include<stdio.h>
#include <ctype.h>

#define SIZE 100

int count_word(char *string);

int main(void)
{    
    int i,count_up=0,count_low=0,count_pun=0,count_dig=0,word=0;
    char string[SIZE];
    fgets(string, SIZE, stdin);
    for(i=0;string[i] != '\0';i++)
    {
        if(isupper(string[i]))
            count_up++;
        else if(islower(string[i]))
            count_low++;
        else if(ispunct(string[i]))
            count_pun++;
        else if(isdigit(string[i]))
            count_dig++;
        else continue;
    }
    word=count_word(string);
    printf("up=%d\nlow=%d\npun=%d\ndig=%d\nword=%d\n",count_up,count_low,count_pun,count_dig,word);

    return 0;
}

int count_word(char *string)
{
    int i,count=0;
    int in_word=0;
    
    for(i=0;i<SIZE;i++) 
    {
        if(isalpha(string[i]))
            in_word=1;
        else if(in_word&&isalpha(string[i])==0)
        {
            count++;
            in_word=0;        
        }
        else if(in_word&&string[i]=='\0')
        {
            count++;
            in_word=0;
        }
        else in_word=0;
    }
    return count;
}文章来源地址https://www.toymoban.com/news/detail-787351.html

到了这里,关于C Primer Plus(第六版)11.13 编程练习 第12题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C Primer Plus(第六版)13.11 编程练习 第7题

    #include stdio.h #include stdlib.h   #include string.h  #define LEN 40 //abc-1.txt abc-2.txt int main() {     FILE  *in, *in1;        int ch1,ch2,i;     char name[LEN];     char name1[LEN];          fprintf(stdout, \\\"input your filename,name1 name2:\\\");     scanf(\\\"%s %s\\\",name,name1) ;     if ((in = fopen(name, \\\"r\\\")) == NULL)     {    

    2024年01月23日
    浏览(46)
  • C Primer Plus(第六版)12.9 编程练习 第5题

    #include stdlib.h   #include stdio.h   #include time.h   #define TIMES 100 void bubble_sort(int arr[], int len); int main (void) {     int i;     int roll[TIMES];     srand((unsigned int)time (NULL));     for(i=0;iTIMES;i++)     {         roll[i] = rand()%10+1 ;         printf(\\\"roll[%d]=%dn\\\",i,roll[i]);     }     bubble_s

    2024年01月20日
    浏览(47)
  • C Primer Plus(第六版)16.18 编程练习 第7题

    #include stdio.h #include stdlib.h #include stdarg.h void show_array(const double ar[] ,int n) ; double * new_d_array(int n, ...) ; int main () {     double * p1;     double * p2;     p1 = new_d_array(5, 1.2,2.3, 3.4, 4.5, 5.6);     p2 = new_d_array(4, 100.0, 20.00, 8.08, -1890.0);     show_array(p1,5);     show_array(p2,4);     free(p1)

    2024年02月21日
    浏览(38)
  • C Primer Plus(第六版)16.18 编程练习 第3题

    #include stdio.h #include math.h   #define PI 3.14159265358979 struct j{     double len;     double jd; }; struct z{     double x;     double y; }; struct z jtoz(struct j pj); int main(void) {     double hd;     struct j pj = {         sqrt(2.0),//根号2,45度的边长是1          45.0,     };     struct z zj;     z

    2024年02月21日
    浏览(46)
  • C Primer Plus(第六版)13.10 复习题 第5题

    #include stdio.h #include stdlib.h #include string.h #define SIZE 256 int main (int argc, char *argv[] ) {     int i=0;     char ch;     char str[SIZE];     FILE *fp;     if (argc != 3)         exit(EXIT_FAILURE);     else     {         if ((fp = fopen (argv[2],\\\"r\\\")) == NULL)             exit(EXIT_FAILURE) ;      

    2024年01月22日
    浏览(43)
  • C Primer Plus第六章编程练习答案

    学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小 写字母。然后打印数组的所有

    2024年02月06日
    浏览(44)
  • C++ Primer Plus第五章编程练习答案

    答案仅供参考,实际运行效果取决于运行平台和运行软件 1.编写一个要求用户输入两个整数的程序。该程序将计算并输出这两个整数之间包括这两个整数)所有整数的和。这里假设先输入较小的整数。例如,如果用户输入的是2和则程序将出29之间所有整数的和为44 2.使用array对

    2024年02月09日
    浏览(52)
  • C Primer Plus第九章编程练习答案

    学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.设计一个函数min(x, y),返回两个double类型值的较小值。在一个简单 的驱动程序中测试该函数。 2

    2024年02月06日
    浏览(42)
  • C++ Primer Plus第二章编程练习答案

    答案仅供参考,实际运行效果取决于运行平台和运行软件 1.编写一个C++程序,它显示您的姓名和地址。 2.编写一个C程序它要求用户输入一个以 long 为单位的距离,然后将它转换为码(- ng等于220码) 3.编写1个C++程序它使用3个用户定义的函数(括mai()),并生成下面的输出Three blind

    2024年02月09日
    浏览(55)
  • C++ primer plus第七章编程练习答案

    1.编写一个程序,不断要求用户输入两个数,直到其中的一个为 0。对于每两个数,程序将使用一个南数来计算它们的调和平均数,并将结果返回给 main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下: 调和平均数=2.0*xy/(x + y) 2.编写一个程序,要求用

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包