- 论坛徽章:
- 7
|
回复 7# bmne
shishi~~
shishi.c
- # include <stdio.h>
- # include <stdlib.h>
- /* _____________________ USER _____________________ */
- # define LENGTH 16
- /* _____________________ END _____________________ */
- typedef char kar;
- typedef char *str;
- typedef unsigned Int;
- void explore (str);
- /* ____________________ MAIN ____________________ */
- int main (int numa, str *para){
- if (numa == 1) {
- printf ("use:\n%s file\n", para[0]);
- exit (1);
- }
- explore (para[1]);
- }
- /* _____________________ SUB _____________________ */
- # define isdigit(X) X < 58
- # define END '\n'
- # define BREAK 3
- void explore (str data){
- FILE *file = fopen (data, "r");
- kar line[LENGTH];
- int Dit[123] = {
- ['m'] = 1,
- ['M'] = 1,
- ['n'] = 2,
- ['N'] = 2,
- };
- while (fgets (line, LENGTH, file)) {
- str dit = line;
- int Digi = 0;
- kar Morn = 0;
- while (*dit > END) {
- if (isdigit (*dit)) {
- if (Digi) break;
- Digi = 1, Morn = 0, dit++;
- continue;
- }
- kar morn = Dit[(Int) * dit];
- if ((morn | Morn) == BREAK) break;
- Morn = morn, Digi = 0, dit++;
- }
- if (*dit == END) fputs (line, stdout);
- }
- } /* explore */
复制代码
|
|