Assignment > Count and Histogram

这里写图片描述这里写图片描述这里写图片描述这里写图片描述

第一次打代码的时候,思路如下

#include<stdio.h>
int main(){
    int j = 0,i = 0,k = 0,keep = 0,m = 0,n = 0,h = 0,l=0;
    // count是用来计算每个字母个数的,初始化为0
    int count[27] = {0};
    //用以读取一个单词的all, 用以读取一个letter的get
    char all[400] = {' '},get = 0;
    //这是最下方的一行:twsx是twenty six二十六个字母
    char twsx[27] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','W'};
    /*compute & find the repeat*/   

    for (i=0;i<=400,(get=getchar())!=EOF;i++){

    //当时还没有学习函数的读取,可以用strlen 或者。。。测定一下长度先
    //然后可以用scanf%s的形式,这样读到的将会是在空格截止

        scanf("%c",&all[i]);

        if (i>=1 && (int)all[i-1] == (int)' ' && (int)all[i]!= (int)' '||i>=1 && (int)all[i-1] == (int)'\n' && (int)all[i]!= (int)'\n'){
        count[26]++; 
        }
        switch(all[i]){
            case 'a':count[0]++; break;
            case 'b':count[1]++; break;
            case 'c':count[2]++; break;
            case 'd':count[3]++; break;
            case 'e':count[4]++; break;
            case 'f':count[5]++; break;
            case 'g':count[6]++; break;
            case 'h':count[7]++; break;
            case 'i':count[8]++; break;
            case 'j':count[9]++; break;
            case 'k':count[10]++; break;
            case 'l':count[11]++; break;
            case 'm':count[12]++; break;
            case 'n':count[13]++; break;
            case 'o':count[14]++; break;
            case 'p':count[15]++; break;
            case 'q':count[16]++; break;
            case 'r':count[17]++; break;
            case 's':count[18]++; break;
            case 't':count[19]++; break;
            case 'u':count[20]++; break;
            case 'v':count[21]++; break;
            case 'w':count[22]++; break;
            case 'x':count[23]++; break;
            case 'y':count[24]++; break;
            case 'z':count[25]++; break;
            default : continue;
        }

    }

    /*find the larest counter && cut down column if a letter dose not exist*/
    for (keep = 0,i=1;i<=26;i++){

        if (count[i]>=count[i-1]){
            keep = count [i];
        }else{
            keep = count [i-1];
        }

    }
    for(k = 0;k <= 25;k++){
        if(count[k]==0){
            n = n;
        }else{
            n++;
        }
    }

/*print a matrix of letter & '*'*/
    char fang[100][27]={' '}; 
    for (k=0;k<=n;k++){
        for(m=0;m<count[m];m++){
            fang[m][k]='*';
          // printf("%c",fang[m][k])    ;   
        }


    }
    for(h=keep;h>=0;h--){
        printf("%d\t%s\n",h+1,fang[h]);
        if (h==0){
            printf(" \t");
            for(l=0;l<=26;l++){
                if(l<26){
                    if(count[l]==0){
                        continue;
                    }else{
                        printf("%c",twsx[l]);

                    }   
                }else{
                    printf("W\n");
                }


            }
        }
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip
作业和函数式编程是两个不同的概念。 首先,作业是指在学校或工作中给予学生或员工完成的任务或项目。作业通常有特定的要求和指导,在规定的时间内完成,并提交给相应的老师或上司进行评估。 而函数式编程是一种编程范式,它强调将计算视为函数的求值和函数之间的组合。在函数式编程中,函数被视为一等公民,可以作为参数传递给其他函数,也可以作为返回值返回。这种编程方式注重函数的纯粹性和不可变性,避免了副作用的产生。 将这两个概念结合起来,可以说函数式编程可以用来解决作业中的一些问题或需求。在处理作业时,可以使用函数式编程的思想来组织和处理数据,通过定义和组合各种函数来完成各种操作。函数式编程的特点,如纯函数、不可变性和函数的组合性,可以帮助我们更加清晰和高效地完成作业。 例如,在一个作业中需要进行复杂的数据处理和转换时,可以使用函数式编程的概念来定义和组织相应的函数,将数据以函数参数的形式传递给这些函数,然后通过组合这些函数来实现所需的处理和转换。这种方式可以使代码更加简洁、可读性更高,并且更容易进行测试和维护。 总之,作业和函数式编程是两个不同的概念,但可以通过运用函数式编程的概念和原则来更好地处理和完成作业。函数式编程提供了一种清晰、简洁和高效的方法来处理和组织数据,从而帮助我们更好地完成作业。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值