首页 > 编程语言 >1-18 编写一个程序,删除每个输入行末尾的空格及制表符,并删除完全是空格的行

1-18 编写一个程序,删除每个输入行末尾的空格及制表符,并删除完全是空格的行

时间:2023-07-15 16:33:07浏览次数:44  
标签:char 删除 space int 空格 line 制表符 LINE

Archlinux

GCC 13.1.1  20230429

2023-07-15 16:24:47 星期六

 


点击查看代码
#include <stdio.h>
#include <string.h>

#define MAX_LINE_LENGTH 1000

int getline_n(char line[], int maxline);
void remove_space(char line[]);

int main() {
    char line[MAX_LINE_LENGTH];
    int len;

    while ((len = getline_n(line, MAX_LINE_LENGTH)) > 0) {
        remove_space(line);
        if (strlen(line) > 0) {
            printf("%s", line);
        }
    }

    return 0;
}

int getline_n(char line[], int maxline) {
    int c, i;

    for (i = 0; i < maxline - 1 && (c = getchar()) != EOF && c != '\n'; ++i) {
        line[i] = c;
    }

    if (c == '\n') {
        line[i] = c;
        ++i;
    }

    line[i] = '\0';

    return i;
}

void remove_space(char line[]) {
    int i = strlen(line) - 1;

    while (i >= 0 && (line[i] == ' ' || line[i] == '\t' || line[i] == '\n')) {
        line[i] = '\0';
        --i;
    }
}

 


运行截图:

image
image

输出正确。

 


小白刚学习C语言,代码质量不高,欢迎评论。

标签:char,删除,space,int,空格,line,制表符,LINE
From: https://www.cnblogs.com/yuwu/p/17556448.html

相关文章

  • mysql删除数据空间不释放
    MySQL删除数据空间不释放的原因及解决方法MySQL是一种广泛使用的关系型数据库管理系统,但在使用过程中可能会遇到一个问题:删除数据后,磁盘空间并没有被立即释放。这可能导致磁盘空间的浪费和性能下降。本文将解释这个问题的原因,并提供一些解决方法。问题原因MySQL中的数据是以页为......
  • 七牛云批量删除文件 (mac端)
    1.下载qshell工具https://developer.qiniu.com/kodo/1302/qshell选择mac下载2.执行账号绑定AK、SK在秘钥中心查看./qshell AKSK自定义名称3.执行导出空间文件名列表./qshelllistbucket2空间名--start2018-01-01-00-00-00--end2023-01-01-00-00-00-olist.txt4.......
  • 误删除表,如何还原最新状态?
    前提:log_bin=ON1全备份mysqldump-A-F--single-transaction--master-data=2>/backup/full.sql210:00前修改数据insertstudents310:00删除表droptablestudents;410:00-10:10修改数据库insertteachers;还原5mysql>flushtableswithreadlock;6mysql>showma......
  • 删除/boot/所有文件,不包括目录,修复
    rm-f/boot/*实验:破坏grubstage1实验:破坏grubstage1.5实验:破坏grubstage2实验:expect自动在多台主机创建用户test,并设置初始口令centos6启动流程1post硬件环境2mbr446grubstage13grubstage1.5加载/boot分区文件系统4grubstage2/boot/grub/grub.conf5......
  • windows怎么删除远程登录连接的ip
    通过远程桌面可以登录到远程电脑上进行相应的操作,在登录过后会在本地电脑上留下登录过的IP以及登录用户名相关信息,可能会给远程的电脑带来安全隐患,下面介绍一下清除远程桌面历史记录的方法。 1、删除我的文档下的Default.rdp文件(该文件是隐藏文件,显示隐藏文件方法:打开我的电脑→......
  • 【AGC】删除控制台应用重建报错url is null问题
    ​【关键字】AGC、agconnect-services.json、InvalidParameterException 【问题描述】有开发者反馈在删除了AppGalleryConnect中某个应用及其对应的项目,再重新创建相同的应用(包名一致),并且重新下载agconnect-services.json到项目中,应用会因为com.huawei.agconnect闪退。报错......
  • dede批量删除未审核的文章和评论
    dedecms批量删除未审核的文章,批量删除未审核的评论,dedecms批量删除未审核的文章和评论在使用织梦cms系统的时候,开启了会员功能投稿的话,就有很多不明的投稿和垃圾文章,还有垃圾评论,而且数量比较多,让很多朋友很苦恼,于是用下面方法可以快速解决此问题,方法如下:登陆dede后台-系统-SQL......
  • 删除img标签里的width和height属性,并在img标签前后加一个br标签
    #提取img标签tree_img=etree.HTML(content)width=tree_img.xpath('//img//@width')[0]height=tree_img.xpath('//img//@height')[0]#替换掉width=,和height=......
  • Linux 如何删除乱码的文件
    事情是这样,服务器很多人在使用,以前的离职同事留了一大堆不知道是什么东西。那些文件看不了,又删不掉,非常碍眼。我搜索了挺多资料,没有一篇文章能真的解决问题(感觉都是抄来抄去的)。用SFTP工具、PHPStorm全家桶,都删不了……后面找到了一篇英文资料,提示说可以用inode编号删,所......
  • ChatGPT 问答00003 mysql中删除原来的自增ID,并重新根据字符串字段data字段排序重新生
    在MySQL中,自增ID是由MySQL引擎自动生成和维护的,通常与数据表的主键关联。删除自增ID并重新生成的需求比较特殊,因为自增ID的生成是基于数据表中已有的记录顺序的,直接删除和重新生成可能会破坏数据完整性和索引等方面的约束。不建议直接删除和重新生成自增ID,但你可以通过以下步骤实......