输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来.
2013-04-16 22:09
477 查看
#include <stdio.h> int head_flag = 0; int success = 0; int my_strlen(char *str) { int i = 0; while(*str != '\0') { i++; str++; } return i; } char *head_add(char *str,char *head) { if(str == NULL ||head == NULL ) { return NULL; } if(my_strlen(str) < my_strlen(head) ) { return NULL; } char *temp ; int head_len = my_strlen(head); int head_count = 0; while( *str != '\0' && !head_flag ) { while(*str == *head) { str++; head++; head_count++; if(head_count == head_len) { head_flag = 1; temp = str - head_len ; break; } } str++; } if (head_flag) { //printf("%d\n",temp); return temp; } else { printf("string illgeal"); } } char *tail_add(char *str,char *tail) { if(str == NULL ||tail == NULL ) { return NULL; } if( my_strlen(str) < my_strlen(tail) ) { return NULL; } int tail_len = my_strlen(tail); int tail_count = 0; if(head_flag) { while( *str != '\0' && !success) { while(*str == *tail) { str++; tail++; tail_count++; if(tail_count == tail_len) { success = 1; break; } } str++; } } if(success) { //printf("%d\n",str-1); return str - 1 ; } else { printf("string illgeal"); return NULL; } } int main() { char *str = "adsheadasitailwer"; char *head = "head"; char *tail = "tail"; char *str_start = head_add(str,head); char *str_end = tail_add(str,tail); printf("before:\n"); printf("%s\n",str); printf("after:\n"); int n = str_end -str_start; int i = 0; // printf("%d",n); for(i = 0; i <n ;i++) { printf("%c",*str_start); str_start ++; } printf("\n"); return 0; }
自己写的一个关于 帧头帧尾的
题目: 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来.
提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktail”中headhauboisoktail是合法帧
这个题目感觉要完善的有很多 比如有多个head和多个tail,那么到底是以那个head为帧头,那个tail为帧尾。。。。
运行如下
相关文章推荐
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktail”中headhau
- 【嵌入式系统学习记录】习题:输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来。比如:帧头和帧尾分别是head和tail 字符串”asdheadhauboiso
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来.
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktail”中headhaubo
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来.
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来.
- 4.5题目: 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来.
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktail”中headhau
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来。
- 题目:输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktail”中headha
- Linux_C练习:输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来。提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktai
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来.
- 输入一个字符串,同时输入帧头和帧尾
- 编写一个程序,一行行地读取输入行,直至到达文件尾。算出每行输入行的长度,然后把最长的那行打印出来。为了简单起见,你可以假定所有的输入行均不超过1000个字符。
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。C++
- 题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
- 输入一个字符串 在输入帧头 帧尾 取合法帧 (标志位的使用)
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。
- 编写一个程序,一行行地读取输入行,直至到达文件尾。算出每行输入行的长度,然后把最长的那行打印出来。为了简单起见,你可以假定所有的输入行均不超过1000个字符