1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define INI_LEN 20 5 #define INC 10 6 char* get_input(); 7 void output(char* array); 8 int main(){ 9 printf("请输入字符串,双回车结束:\n"); 10 char *string = get_input(); 11 12 output(string); 13 getchar(); 14 return 0; 15 } 16 //输入函数 17 char* get_input(){ 18 char* string = (char*)malloc(INI_LEN*sizeof(char)); 19 int len = INI_LEN; 20 int i = 0,cnt = 0; 21 while (cnt != 2){ 22 if (i + 1 == len){ 23 len += INC; 24 char* tmp = string; 25 string = (char*)malloc(len*sizeof(char)); 26 for (int k = 0; k <= i; ++k) 27 string[k] = tmp[k]; 28 free(tmp); 29 } 30 string[i] = getchar(); 31 if (string[i] == ‘\n‘) 32 cnt++; 33 else 34 cnt = 0; 35 i++; 36 } 37 string[i-1] = ‘\0‘; 38 return string; 39 40 } 41 //输出函数 42 void output(char* array){ 43 int tag = 1,cnt = 1; 44 for (int i = 0; array[i]!=‘\0‘; ++i){ 45 if (tag == 1){ 46 tag = 0; 47 if (array[i] != ‘\n‘&&array[i] != ‘\0‘) 48 printf("%d. ", cnt); 49 } 50 if (array[i] == ‘\n‘){ 51 if (array[i+1] != ‘\n‘&&array[i+1] != ‘\0‘){ 52 tag = 1; 53 cnt++; 54 } 55 } 56 printf("%c", array[i]); 57 } 58 }
时间: 2024-10-13 11:58:44