1035 问题 D: [编程入门]自定义函数之字符类型统计

时间限制: 1s 内存限制: 128MB 提交: 45410 解决: 22912
题目描述
编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
输入
一行字符串
输出
统计数据,4个数字,空格分开。
样例输入
!@#$%^QWERT    1234567
样例输出
5 7 4 6 
提示
零基础同学可以先学习视频课程,包含C/C++、Python、百练、蓝桥杯辅导、算法数据结构等课程,提供视频讲解以及配套习题,还有老师答疑,点击这里了解课程详情

比赛公告

#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


#include"stdio.h"


int main()

{

    char Char; 

    int line,row,control,read;    //行,列,符号,是否空心,列备份

    scanf("%d %d %c %d",&line,&row,&Char,&control);

    line-=2;           //除去首行尾行,还有line-2

    read=row;       // 记录列的值

    while(read--) printf("%c",Char); //输出第一行,有多少列就有多少符号

    printf("\n");     // 换行

    read=row;      // 记录列的值

    if(control)       //判断是不是空心

    while(line--)     //实心情况

    {

        while(read--) printf("%c",Char);    //输出一行有列个

        printf("\n");                                    //一行结束换行

        read=row;                                      //重置列的值

     }

    else    //空心情况, 只有每列不一样,每行和实心一样

    {

        while(line--) 

        {

            while(read--) 

            {

                if(read==0||read==(row-1)) printf("%c",Char);    //第一列和最后一列是符号

                else printf(" ");                                                      //其它列是空格

            }

        printf("\n");

        read=row;

        }

    }

    read=row;

    while(read--) printf("%c",Char);        //最后一行和第一行的一样

}


v