问题:
在终端输入多行信息,找出包含“ould”的行,并打印改行。
如:
Au,love could you and I with fate conspire
To grasp this sorry scheme of things entire,
Would not we shatter it to bitd – and then.
在终端输出上述的文字,输出
Au,love could you and I with fate conspire
Au,love could you and I with fate conspire
To grasp this sorry scheme of things entire,
Would not we shatter it to bitd – and then.
Would not we shatter it to bitd – and then.
#include<stdio.h>
#include<string.h>
#define MAX 1000
int getline(char line[])
{int limit = MAX - 1;int ch = 0;int i = 0;while ((ch = getchar()) && (--limit) && ch != '\n' && ch != EOF){line[i] = ch;i++;}if (ch == '\n'){line[i++] = '\n';}line[i] = '\0';return i;
}
char find(char *a,char *b,int m,int n)
{int i,j, k;i = k = 0;j = 0;while (i<m && j<n){if (a[i] == b[j]){i++;j++;}else{j = 0; k++;i = k;}}if (j >= n){return &a ;}else{return 0;}
}
int main(void)
{char line[MAX];char *p = "ould";int m,n;m = strlen(line);n = strlen(p);while (getline(line)){if (find(line, p,m,n)){printf("%s", line);}}}
转载于:https://blog.51cto.com/9195095/1705677