C程序设计语言练习题1-17

练习1-17  编写一个程序,打印长度大于80个字符的所有输入行。

代码如下:

#include <stdio.h>    //    包含标准库的信息。

#define MAXROW 10        //    最大行数为10行。
#define MAXLINE 100        //    每行最大字符数为100个。

int getLength(char cs[]);

int main()    //    定义名为main的函数,它不接受参数值。
{
    int c, i, row;
    char cs[MAXROW][MAXLINE];
    
    //    初始化10行的字符数组。
    for (i = 0;i < MAXROW; i++)
    {
        cs[i][0] = '\0';
    }

    i = row = 0;
    while (row < MAXROW && (c = getchar()) != EOF)
    {
        //    将输入的每行放入数组中。
        if (c != '\n')
        {
            if (i < MAXLINE - 2)
            {
                cs[row][i] = c;
                 i++;
            }
            else
            {
                cs[row][MAXLINE - 1] = '\0';
            }
        }
        else
        {
            //    换行时,将这一行的最后以为添加'\0'。
            if (i < MAXLINE - 2) cs[row][i] = '\0';
            //    移动到下一行。
            row++;
            //    计数器清0。
            i = 0;
        }
    }
    if (row == MAXROW) { printf("已输入了10行,开始进行统计...\n"); }
    //    输入字符大于10的行。
    for (row = 0; row < MAXROW; row++)
    {
        if (getLength(cs[row]) > 10)
        {
            printf("%s\n", cs[row]);
        }
    }

    getchar();    //    防止控制台一闪而过,需要接受任意字符后在关闭控制台。
    return 0;    //    向执行环境返回一个整形,0代表执行成功。
}

//    获得每行的长度。
int getLength(char cs[])
{
    int i = 0;
    while (cs[i++] != '\0') ; 
    return i;
}

 

个人理解:

限定了最大行数支持10行,每行100个字符,练习主要巩固了字符数组'\0'的用法。

转载于:https://www.cnblogs.com/DeadGardens/p/4781123.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值