跳转至

编程题

第八章 编程练习题

  1. 设计一个程序,统计在读到文件结尾之前读取的字符数

代码code

  1. 编写一个程序,在遇到EOF之前,把输入作为字符流读取。程序要打印每个输入的字符及其相应的ASCII十进制值。

    #include <stdio.h>
    
    int main(void)
    {
        char ch;
        int row = 0;
        printf("please input your test string : \n");
        // 此处使用while和if方式,后续会继续优化code
        while ((ch = getchar()) != EOF)
        {
            if(ch >= 32){ // 直接打印字符
                putchar(ch);
                printf(" -- %d ",ch);
                row++;
            }
            // 换行符的情况
            else if (ch == '\n'){
                printf("\\n");
                printf(" -- %d ",ch);
                putchar(ch);
                row = 0; // 遇到换行符直接将其重置为0
            }
            // 制表符的情况
            else if (ch == '\t'){
                printf("\\t");
                printf(" -- %d ",ch);
                putchar(ch);
                row++;
            }
            // 控制字符表示法的情况
            else{
                putchar('^');
                putchar(ch+64);
                printf(" -- %d ",ch);
            }
            if(row == 10){
                putchar('\n');
                row = 0;
            }
        }
        return 0;
    }
    

  2. 编写一个程序,在遇到EOF之前,把输入作为字符流处读取。程序的需求:报告输入中的大写字符和小写