C语言;在终端输入多行信息,找出包含“ould”的行,并打印改行。
2016-05-30 17:15
507 查看
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<assert.h> #include<stdlib.h> #define MAX 1000 int getline(char *line, int limit) { int ch = 0; int i = 0; while (limit-- && ((ch = getchar()) != EOF) && (ch != '\n')) { line[i++] = ch; } if (ch == '\n') { line[i++] = '\n'; } line[i] = '\0'; return i; } char *my_strstr(char *arr1,char *arr2) { assert(arr1); assert(arr2); char *p = arr1; char *s1 = p; char *s2 = arr2; while (*s1 != '\0') { s1 = p; s2 = arr2; while ((*s1 != '\0') && (*s2 != '\0') && (*s1 == *s2)) { s1 ++; s2 ++; } if (*s2 == '\0') { return p; } p++; } return NULL; } int main() { char *p = "ould"; char line[MAX] = {0}; while (getline(line, MAX - 1)) { if (my_strstr(line, p)) { printf("%s\n", line); } } system("pause"); return 0; }650) this.width=650;" title="~0X]]6UL%Z@(LTGTPT0CPTB.png" src="http://s3.51cto.com/wyfs02/M02/75/9C/wKiom1Y96RnifeCBAAE0mOTEF_4529.jpg" alt="wKiom1Y96RnifeCBAAE0mOTEF_4529.jpg" />
相关文章推荐
- C语言:模拟实现printf,要求功能:print(&quot;ccc\ts!&quot;,&#39;b&#39;,&#39;i&#39;,&#39;t&#39;,&quot;welcome to you&quot;);
- 【C语言】编写冒泡排序,排序一个整形数组。
- 【C语言】reverse_str递归调用函数
- C语言:使用冒泡排序,排序多个字符串(优化)。
- C语言:冒泡法排序一组数,如何优化?
- C语言:调整数组使奇数全部都位于偶数前面。
- C语言:模拟实现memmove
- C语言:模拟实现memcpy
- 【笔试题】C语言:模拟实现strcmp
- 【笔试题】C语言:模拟实现strcat
- C语言:模拟实现strcpy
- 【笔试题】C语言:模拟实现strncmp
- 【笔试题】C语言:模拟实现strncat
- 【面试题】C语言:模拟实现strncpy,尝试比较strncpy与strcpy区别。
- 【面试题】C语言:模拟实现内存放置函数memset()
- 【面试题】C语言:模拟实现memcmp,试比较memcmp与strcmp,strncmp的区别
- 【指针篇】C语言:指针与数组的区别,数组指针与指针数组的剖析。
- C语言:实现一个函数itoa(int n,char s[]),将整数n这个数字转换为对应的字符串,保存到s中
- C语言:字符数组的内容为;tneduts a ma i;,内容改为i am a student.只能开辟有限个空间
- 【面试常考】C语言:输入:&quot;student a am i&quot;,输出&quot;i am a student,不能使用库函数