首页 > 其他 > 详细

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

时间:2020-04-25 16:30:25      阅读:96      评论:0      收藏:0      [点我收藏+]
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 
 5 #define MAXLINE 1000 //允许输入行的最大长度
 6 
 7 int get_Line(char line[], int maxline);
 8 
 9 int removes(char s[]);
10 
11 main()
12 {
13     char line[MAXLINE];
14     while(get_Line(line, MAXLINE) > 0)
15         if(removes(line) > 0)
16             printf("%s", line);
17     return 0;
18 }
19 // getline函数: 讲一行读入到S中,并返回其长度
20 int get_Line(char s[], int lim)
21 {
22     int c, i, j;
23     j = 0;
24     for(i = 0; (c = getchar()) != EOF && c != \n; ++i)
25         if(i < lim - 2)
26         {
27             s[j] = c;
28             ++j;
29         }
30     if(c == \n)
31     {
32         s[j] = c;
33         ++j;
34         ++i;
35     }
36     s[j] = \0;
37     return i;
38 }
39 //删除字符串的空格和制表符并返回新的长度
40 int removes(char s[])
41 {
42     int i;
43     i = 0;
44     while(s[i] != \n && i < MAXLINE-2)  //
45         ++i;
46     if(i != MAXLINE-2)
47         --i;
48     while(i >= 0 && (s[i] ==   || s[i] == \t))
49         --i;
50     if(i >= 0)
51     {    
52         ++i;
53         s[i] = \n;
54         ++i;
55         s[i] = \0;
56     }
57     return i;
58 }

 

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

原文:https://www.cnblogs.com/liuhaiqing/p/12771946.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!