C練習--刪除每個輸入行末尾空格及製表符,並刪除完全是空的行
阿新 • • 發佈:2020-12-11
題目:編寫一個程式,刪除每個輸入行末尾空格及製表符,並刪除完全是空的行
#include <stdio.h>
#define MAXLINE 1000
int get_line(char s[], int lim)
{
int c, i, j;
j = 0;
for(i = 0; (c = getchar()) != EOF && c != '\n'; i++)
{
if(i < lim -2)
{
s[j] = c;
++ j;
}
if(c == '\n')
{
s[j] = c;
++j;
++i;
}
s[j] = '\0';
return i;
}
}
int remove(char s)
{
int i = 0;
//空行不計數
while(s[i] != '\n')
i = i + 1;
i = i - 1;
while(i >= 0 && (s[i] == ' ' || s[i] == '\t'))
i = i - 1;
if(i >= 0)
{
i = i+1;
s[i] = '\n';
i = i+1;
s[i] = '\0';
}
return i;
}
int main(void)
{
char line[MAXLINE];
while(get_line(line,MAXLINE) > 0)
if(remove(line) > 0)
printf("%s" , line);
return 0;
}